如何获取/捕获屏幕元素的事件?

时间:2014-09-30 21:40:14

标签: javascript jquery

我正在尝试制作固定的表格标题,当您向下滚动并且表格标题离开屏幕时,是否可以捕获事件或捕获元素?

1 个答案:

答案 0 :(得分:1)

一种方法是使用窗口的滚动事件,并检查该元素是否在那里可见。

如何检查屏幕上是否有元素:Check if element is visible on screen

以下是如何将该代码转换为自定义事件entered_view和exited_view:

var $element = $('#some_element');
var is_visible = false;

$(window).on('scroll', function (e) {
    // Check if $element is on screen using code from other answer

    if (checkVisible($element)) {
         if (!is_visible) {
             $element.trigger('entered_view');
         }
         is_visible = true;
    } else {
         if (is_visible) {
             $element.trigger('exited_view');
         }
         is_visible = false;
    }
});

一旦你开始工作,你可能还想去除滚动事件:Here's info about debouncing/throttling in jquery