Javascript jQuery窗口滚动代码格式化问题
新手:自己编写jQuery 因此,我遇到了一个障碍,当窗口在设定的像素量后向下滚动时,让jQuery添加一个类 为了设置一点背景,navbar当前有一些jQuery,可以在单击时切换类以创建一点淡入淡出的效果。它是静态的,在页面上有一点固定。我的问题是添加jQuery,它在向下滚动窗口时继续添加类,基本上添加了一个类,一旦静态导航不在视图中,该类将使导航栏固定在页面顶部 我正在使用一个自定义的.js函数文件创建一个子主题-以下是迄今为止有效的代码:Javascript jQuery窗口滚动代码格式化问题,javascript,jquery,scroll,Javascript,Jquery,Scroll,新手:自己编写jQuery 因此,我遇到了一个障碍,当窗口在设定的像素量后向下滚动时,让jQuery添加一个类 为了设置一点背景,navbar当前有一些jQuery,可以在单击时切换类以创建一点淡入淡出的效果。它是静态的,在页面上有一点固定。我的问题是添加jQuery,它在向下滚动窗口时继续添加类,基本上添加了一个类,一旦静态导航不在视图中,该类将使导航栏固定在页面顶部 我正在使用一个自定义的.js函数文件创建一个子主题-以下是迄今为止有效的代码: jQuery(document).re
jQuery(document).ready(function($) {
$('.testimonials').bxSlider();
$('.home .siteBrand').click(function(){
$('.home .x-navbar').toggleClass("x-navbarOpen");
$('.home .x-navbar').addClass("ani");
$('.home .x-nav-wrap.desktop').toggleClass("siteBrandOpen");
$('.home .x-nav-wrap.desktop').addClass("ani");
$('.home .x-navbar .desktop .x-nav > li > a').toggleClass("menuOpen");
$('.home .x-navbar .desktop .x-nav > li > a').addClass("ani");
});
});
以下代码是从其他站点运行的代码:
var $j = jQuery.noConflict();
$j(window).scroll(function() {
var scroll = $j(window).scrollTop();
if (scroll >= 750) {
$j(".home .x-navbar").addClass("x-navbar-fixed-top");
} else {
$j(".home .x-navbar").removeClass("x-navbar-fixed-top");
}
});
它只在将代码添加到主题的自定义Javascript功能时起作用,但我需要将所有这些都放在子主题的Custom.js文件中,在大量使用代码之后,我不确定如何格式化此代码段以使其在自定义文件中工作。我注意到的一个问题是,无论我是在主题功能中添加窗口滚动代码,还是尝试在自定义文件中使用它,在自定义文件中工作的代码都会停止
谁能告诉我我做错了什么?谢谢!:) 听起来你需要发表评论
//var $j = jQuery.noConflict();
。。。并替换从$j
到$
的所有引用
“其他站点”可能包含了两个版本的jQuery,并通过添加.noConflict()
方法解决了这个问题。因为我只能假设你的网站不是这样,所以你不应该在复制/粘贴时包含该部分。
但是,如果执行了此操作,则禁用了“自定义文件”脚本中以前的所有引用。这可以解释“自定义文件”脚本是如何停止工作的
值得思考的是:
// when all HTML is loaded on the page
// once the DOM is ready (short version)
$(function() {
// make sure these elements are exeactly selected as intended by using a developer toolbar (usually key F12)
var win = $(window),
testimonials = $('.testimonials'),
home = $('.home'),
sitebrand = home.find('.siteBrand'),
navbar = home.find('.x-navbar'),
navwrap = home.find('.x-nav-wrap.desktop'),
anchor = navwrap.find('.x-nav > li > a');
// start initialising other libraries ...
testimonials.bxSlider();
// ... or add events
sitebrand.click(function(){
navbar.toggleClass('x-navbarOpen').addClass('ani');
navwrap.toggleClass('siteBrandOpen').addClass("ani");
anchor.toggleClass('menuOpen').addClass('ani');
});
win.scroll(function() {
navbar.toggleClass('x-navbar-fixed-top', win.scrollTop() >= 750);
});
});