Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery窗口滚动代码格式化问题_Javascript_Jquery_Scroll - Fatal编程技术网

Javascript jQuery窗口滚动代码格式化问题

Javascript jQuery窗口滚动代码格式化问题,javascript,jquery,scroll,Javascript,Jquery,Scroll,新手:自己编写jQuery 因此,我遇到了一个障碍,当窗口在设定的像素量后向下滚动时,让jQuery添加一个类 为了设置一点背景,navbar当前有一些jQuery,可以在单击时切换类以创建一点淡入淡出的效果。它是静态的,在页面上有一点固定。我的问题是添加jQuery,它在向下滚动窗口时继续添加类,基本上添加了一个类,一旦静态导航不在视图中,该类将使导航栏固定在页面顶部 我正在使用一个自定义的.js函数文件创建一个子主题-以下是迄今为止有效的代码: jQuery(document).re

新手:自己编写jQuery

因此,我遇到了一个障碍,当窗口在设定的像素量后向下滚动时,让jQuery添加一个类

为了设置一点背景,navbar当前有一些jQuery,可以在单击时切换类以创建一点淡入淡出的效果。它是静态的,在页面上有一点固定。我的问题是添加jQuery,它在向下滚动窗口时继续添加类,基本上添加了一个类,一旦静态导航不在视图中,该类将使导航栏固定在页面顶部

我正在使用一个自定义的.js函数文件创建一个子主题-以下是迄今为止有效的代码:

    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);
    });
});