在我的模板中,我跟踪了 up scroll
和 down scroll
。
在 upscroll 我添加了一些 class names
到 h2
。在 Downscroll
中,如果 h2
具有类名,我做了一些任务。
在 Downscroll
中,我使用了 hasClass
属性。但它没有得到动态添加的 class names
。
这是我使用的脚本
$(document).ready( function() {
var lastScrollTop = 0;
$(window).on('scroll', function(e){
var st = $(this).scrollTop();
if (st > lastScrollTop){ //down scroll
$(".rightclassname h2").each(function(){
var moveright = $(this).offset().top
if($(window).scrollTop() > moveright && !$(this).hasClass('reached')) {
$(this).addClass('reached');
console.log(moveright);
}
})
$(".leftclassname h2").each(function(){
var moveleft = $(this).offset().top ;
if($(window).scrollTop() > moveleft && !$(this).hasClass('reached'))
{
console.log('Moveleft');
$(this).addClass('reached');
}
})
}
else { //Up scroll
$(".rightclassname h2").each(function(){
var moveright = $(this).offset().top ;
if($(window).scrollTop() < moveright && !$(this).hasClass('reached')) {
$(this).addClass('reached');
console.log('right up ');
}
})
$(".leftclassname h2").each(function(){
var moveleft = $(this).offset().top ;
if($(window).scrollTop() < moveleft && !$(this).hasClass('reached'))
{
$(this).addClass('reached');
console.log('leftup');
}
})
}
lastScrollTop = st;
})
})
此代码在
down scroll
中运行良好。但是在 up scroll
中, hasclass
属性没有跟踪动态添加的类 reached
。所以它不能正常工作。请帮助我如何在此处跟踪
hasClass
属性。****请引用这个 fiddle Refer the fiddle here **
而
downscroll
,通过交叉相应的标题文本正确显示。通过 upscroll
它不起作用。** 最佳答案
您已经将“每个”格式化为“ map ”,我一直在意外地这样做……但我认为它应该是这样的:
var obj = {
"flammable": "inflammable",
"duh": "no duh"
};
$.each( obj, function( key, value ) {
alert( key + ": " + value );
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
关于jquery onscroll hasClass 属性不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30611622/