检测“滚动视图”'使用jquery调用元素

时间:2018-01-15 17:25:14

标签: javascript jquery

我有一个元素,我在其上触发函数' scrollIntoView()'。现在我必须在触发时检测并捕获此事件。

我这样触发它:

$('.element').scrollIntoView();

所以我试着用jquery用这样的东西来抓住它:

$('.element').on('scroll', function() { // STUFF });
$('.element').on('scrollIntoView', function() { // STUFF });

但不幸的是它没有用。

这甚至可能吗?它会触发哪个事件?

1 个答案:

答案 0 :(得分:1)

$.fn.inView = function(){
      var win = $(window);
      var obj = $(this);
      var scrollPosition = win.scrollTop();
      var visibleArea = win.scrollTop() + win.height() ;
      var objEndPos = (obj.offset().top + obj.outerHeight());
      return(visibleArea >= objEndPos && scrollPosition <= objEndPos ? true : false)
  };

这会奏效。但在滚动内你可以做

if(element.inView()) {
  do this 
}