所以我有一些代码可以在滚动超过1000px时打开一些指示灯,如果向上滚动它会再次关闭指示灯,这只需添加一个类并删除类...
var lights = jQuery('.scene2 .lights');
jQuery(function () {
lights.data('switch', 'on');
});
jQuery(window).scroll(function () {
if (jQuery(document).scrollTop() > 1000) {
if (jQuery(lights).data('switch') == 'on') {
jQuery(lights).data('switch', 'off');
jQuery(lights).stop().removeClass('lightsOff');
jQuery(lights).stop().addClass('lightsOn');
}
} else {
if (jQuery(lights).data('switch') == 'off') {
jQuery(lights).data('switch', 'on');
jQuery(lights).stop().removeClass('lightsOn');
jQuery(lights).stop().addClass('lightsOff');
}
}
});
但我需要多次这样做&它的代码很多,我想知道是否有更短的方法吗?
答案 0 :(得分:4)
试试这个,
var lastScrollTop = 0;
$(window).scroll(function(event){
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
$('selector').addClass('classname');
} else {
// upscroll code
$('selector').removeClass('classname');
}
lastScrollTop = st;
});