将ScrollTop与元素的offset.top进行比较
Compare ScrollTop With offset.top of element
我有这个代码来计算元素的顶部,并与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");
}
});
});
您需要增加高度,而不是减去高度。
var x = parseInt(jQuery(".noticiasFoldsHome").offset().top) + parseInt(h);
我想当用户输入某个元素时,您正在尝试做一些事情,如果是这样的话,您可能希望在if条件中使用一个范围,比如大于元素顶部,小于元素底部。
滚动事件不是为每个像素调用的,而是在滚动中断时调用的。它可以像这样0、79、156、210、350等等,基本上是随机的。因此,通过尝试将其与单个值进行比较,你实际上是在碰碰运气。你最好使用一些范围。元素应该在元素顶部和元素顶部之间+元素的总高度
此外,您已经为jquery选择器使用了一个类名,这表明该类可以有多个元素,但此代码只能用于第一个这样的元素。所以要谨慎。
相关文章:
- 比较从函数和生成的日期对象
- 如何使用 node.js 比较两个 json 数组
- jQuery自定义验证比较多个输入的序列
- 反向字符串比较
- 通过JSON&比较时间
- 将DOM节点值与字符串Javascript进行比较
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 递归深度比较
- 可以't在JavaScript中比较两个字符串
- 实现比较方法的最佳实践是什么;s的比较类型是在运行时选择的
- 如何在moment.js中只比较日期
- 无法比较javascript变量
- 比较javascript中的浮动并更改最高浮动的颜色
- 使用javascript比较对象中的对象值和数组长度
- 如何将smarty变量与javascript变量进行比较
- 比较两个数组中的元素
- MongoDB-通过比较集合和对象的数组来返回现有字段的数组
- 比较和转换多个数组
- 如何在JavaScript中比较两个日期
- 将ScrollTop与元素的offset.top进行比较