jQuery连续检测到顶部的DIV距离

时间:2014-10-24 09:01:38

标签: jquery

我只是在页面中显示DIV时尝试启动一些动画。

这是我所做的功能:

function startAnimations() {

    if (animated_contents)
        jQuery.each(animated_contents, function(index, arr) {
            var item = jQuery('#' + arr[1]);
            var page_id = arr[0];
            setInterval(function() {
                var visible_window = jQuery(window.top).height();
                var top = item.offset().top - jQuery(document).scrollTop();
                console.log(item + visible_window + top);
                if (top < visible_window)
                    animateEl(arr[1], arr[2], arr[3], arr[4]);
            }, 500);
        })
}

有效。问题是setInterval必须始终运行,我担心它会合理地减少资源。 有没有更好的办法? 请考虑这些项目是以动态方式创建的,因此必须进行连续检查。 感谢您的任何建议

1 个答案:

答案 0 :(得分:1)

使用$(window).scroll()并检查div的位置以运行动画。