jquery - 选择已滚动到的元素

标签 jquery scroll selector

我有一个使用 Jquery ScrollTo 插件的滚动站点。我想做的是选择刚刚滚动到的部分中的一个元素,以便在该元素在屏幕上可见时我可以为其设置动画。 有什么建议吗?

最佳答案

您可以在scrollTo插件的onAfter事件中找到元素的顶部并与文档scrollTop进行比较。

$("div").scrollTo({
  onAfter: function(){//This is the callback function when the scrolling animation is complete.
  var scrollTop = $(document).scrollTop();
  var scrollLeft = $(document).scrollLeft();
  var elementWidth = $("div").find("elementToFind").width();
  var elementOffset = $("div").find("elementToFind").offset();
  var elementTop = elementOffset.top;
  var elementLeft =elementOffset.left;

  if((elementTop > scrollTop) && (elementTop < $(window).height() + scrollTop) &&
     ( elementLeft > scrollLeft) && ( (elementLeft + elementWidth) < $(window).width() + scrollLeft)){
    //The element is visible do something here
  } 
}

  });
})

关于jquery - 选择已滚动到的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7059422/

相关文章:

javascript - Highstock显示不一致

jquery - 基于移动浏览器和桌面浏览器隐藏和显示一个div

javascript - 滚动事件在 jquery 动画功能完成后触发

javascript - 无法在 jquery .load() 外部内容后滚动

events - 在 Windows Phone 上获取 ScrollViewer 的滚动事件

ios - 如何使用参数执行选择器?

java - 多线程中的多个选择器

jquery - 使用 Javascript 动态更改 HTML5 输入元素的 "placeholder"属性

javascript - 添加元素而不删除现有内容

javascript - 自定义数据属性选择器不起作用