2017-03-07 81 views
0

我想添加和删除活动类,以我的jQuery的滚动功能我犯了一个脚本导航,但加入活动类,但不reomve它我想添加和删除活动类,以我的导航上滚动

jQuery.noConflict(); 
jQuery(document).ready(function() { 
jQuery(document).scroll(function(){ 
    var row = jQuery('#about-btn'), scrollTop = jQuery(this).scrollTop(); 
    if(scrollTop > 750) 
    { 
     row.addClass('active'); 
    } 
    else if (scrollTop == 800) 
    { 
     row.removeClass('active'); 
    } 
}); 
}); 

回答

0

脚本删除类“活动”,只在滚动是确切的800像素。

尝试更换

if(scrollTop > 750) 

if(scrollTop > 750 && scrollTop <= 799) 

else if (scrollTop == 800) 

if (scrollTop >= 800) 
+0

感谢它现在完美工作 –

0

这个问题是因为如果scrollTop的值为,那么只删除该类800px,这是一个非常小的命中目标。更重要的是,当你考虑到浏览器没有更新每个滚动的像素,并可能会漏掉一些。

要解决此问题,请使if语句中的条件使用一个范围。我还建议您选择滚动处理程序的以外的#about-btn元素。试试这个:

jQuery.noConflict(); 
jQuery(function($) { 
    var $row = $('#about-btn'); 

    $(document).scroll(function(){ 
    var scrollTop = $(this).scrollTop(); 
    $row.toggleClass('active', scrollTop > 750 && scrollTop < 800); 
    }); 
}); 
相关问题