javascript - Jquery 脚本没有反应

标签 javascript jquery css

关于 this site我有以下 jQuery 函数。但是没 react ?

它应该向 <header id="navbar"> 添加和删除 CSS 类向下滚动 150 像素后。

有人知道怎么回事吗?

var fixed = 0;
function toggleNavbar() {
    if ($(window).scrollTop() > (150)) {
        if (fixed == 0) {
            fixed = 1;
            $("#navbar").addClass("navbar-fixed-top").css({opacity: 0,top: -30}).animate({opacity: 1,top: 0}, 200, function() {
            });
            $("#navbar").addClass("websiteHeaderSticky");
            $("#navbar").removeClass("websiteHeader");
        }
    }
    if ($(window).scrollTop() < (150)) {
        if (fixed == 1) {
            fixed = 0;
            $("#navbar").animate({opacity: 0,top: -30}, 200, function() {
                $("#navbar").removeClass("navbar-fixed-top");
                $("#navbar").removeClass("websiteHeaderSticky");
                $("#navbar").addClass("websiteHeader").animate({opacity: 1,top: 0}, 300);
            });
        }
    }
}

最佳答案

尝试(更多:http://api.jquery.com/scroll/):

   jQuery( window ).scroll(function() {
      toggleNavbar(); 
   });

我不知道为什么,但是 $ 没有在你的页面上定义,使用 jQuery 引用工作正常。

您也可以将您的 js 修复为:

var fixed = 0;
function toggleNavbar() {
    if (jQuery(window).scrollTop() > (150)) {
        if (fixed == 0) {
            fixed = 1;
            jQuery("#navbar").addClass("navbar-fixed-top").css({
                opacity: 0,
                top: -30
            }).animate({
                opacity: 1,
                top: 0
            }, 200, function() {});
            jQuery("#navbar").addClass("websiteHeaderSticky");
            jQuery("#navbar").removeClass("websiteHeader");
        }
    }
    if (jQuery(window).scrollTop() < (150)) {
        if (fixed == 1) {
            fixed = 0;
            jQuery("#navbar").animate({
                opacity: 0,
                top: -30
            }, 200, function() {
                jQuery("#navbar").removeClass("navbar-fixed-top");
                jQuery("#navbar").removeClass("websiteHeaderSticky");
                jQuery("#navbar").addClass("websiteHeader").animate({
                    opacity: 1,
                    top: 0
                }, 300);
            });
        }
    }
}

jQuery(window).scroll(function() {

     toggleNavbar(); 
});

关于javascript - Jquery 脚本没有反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26989172/

相关文章:

javascript - 如何编写用于在嵌套 Accordion 中更改 '+' 、 '-' 符号的脚本?

javascript - 当主图像调整大小时,使顶部图像保持在原位

javascript - jQuery 在页面底部滚动时加载更多内容

javascript - If语句Javascript中的错误

javascript - 无法分配元素的最后位置坐标

javascript - jqBootstrapValidation 不工作,总是返回有效值;

jquery 单击处理程序在 google Maps InfoBox 但不在 infoWindow 中使用时被多次调用

javascript - jQuery .toggleClass() 在打开后不会关闭该类

javascript - 如何生成并共享文件?

javascript - 如何检测多级对象是否具有未定义或 null 属性?