我有这个代码来计算元素的顶部并与scrollTop进行比较并执行任何操作。
问题是,它没有进入“如果”
有什么想法吗?
jQuery( document ).ready(function() {
var h = parseInt(jQuery(".noticiasFoldsHome").height()) / 2 ;
var x = parseInt(jQuery(".noticiasFoldsHome").offset().top) - parseInt(h);
jQuery(window).scroll(function (event) {
var scroll = jQuery(window).scrollTop();
//console.log(scroll);
if ( parseInt(scroll) == parseInt(x) ){
console.log("entro");
}
});
});
答案 0 :(得分:2)
您需要添加高度,而不是减去高度。
var x = parseInt(jQuery(".noticiasFoldsHome").offset().top) + parseInt(h);
我猜你在用户输入一些元素时尝试做某事,如果是这样你可能想要在条件中使用范围,如大于元素的顶部而不是元素的底部。
不为每个像素调用滚动事件,在滚动中断时调用它。它可以像这样的0,79,156,210,350等。基本上随机。因此,通过尝试将其与单个值进行比较,您实际上是在尝试运气。你最好使用一些范围。元素应位于元素顶部和元素顶部+元素总高度
之间此外,您已经为jquery选择器使用了一个类名,表明该类可以有多个元素,但此代码只能用于第一个这样的元素。所以要小心。