Javascript 当元素不再出现在屏幕上时?

Javascript 当元素不再出现在屏幕上时?,javascript,jquery,Javascript,Jquery,在我的网站上,有一个向右滚动的浮动云(元素),我想知道它什么时候在屏幕上不可见了 我怎么做 setInterval(function(){ if(!jQuery('.sa_cloud_l').is(':visible')){ alert('not visible anymore'); }else{ c1.css('left', '+=21'); } },100); :visible选择器不考虑在浏览器的视口中 如果元

在我的网站上,有一个向右滚动的浮动云(元素),我想知道它什么时候在屏幕上不可见了

我怎么做

setInterval(function(){
    if(!jQuery('.sa_cloud_l').is(':visible')){
        alert('not visible anymore');
    }else{          
        c1.css('left', '+=21');
    }
},100);

:visible
选择器不考虑在浏览器的视口中

如果元素占用文档中的空间,则认为它们是可见的。 可见元素的宽度或高度大于零

可见性为“隐藏”或不透明度为“0”的图元视为可见, 因为它们仍然会占用布局中的空间。在动画中 隐藏图元时,该图元将被视为在结束前可见 这是动画的一部分。在显示元素的动画过程中,该元素是 视为在动画开始时可见


:visible
选择器不考虑在浏览器的视口中

如果元素占用文档中的空间,则认为它们是可见的。 可见元素的宽度或高度大于零

可见性为“隐藏”或不透明度为“0”的图元视为可见, 因为它们仍然会占用布局中的空间。在动画中 隐藏图元时,该图元将被视为在结束前可见 这是动画的一部分。在显示元素的动画过程中,该元素是 视为在动画开始时可见


检查jquery插件视口

检查jquery插件视口

if($(窗口)。scrollLeft()
if($(窗口)。scrollLeft()
:可见
仅选择其CSS显示属性不为
的元素。您可以使用
偏移量()
方法

var width = $(window).width();

setInterval(function(){
        if ( $('.sa_cloud_l').offset().left > width ) {
            alert('not visible anymore');
        } else {          
            c1.css('left', '+=21');
        }
},100);

:visible
仅选择其CSS显示属性不为
无的元素。您可以使用
offset()
方法

var width = $(window).width();

setInterval(function(){
        if ( $('.sa_cloud_l').offset().left > width ) {
            alert('not visible anymore');
        } else {          
            c1.css('left', '+=21');
        }
},100);

定义什么是“不再可见”?将其左侧位置与窗口宽度进行比较。定义什么是“不再可见”?将它的左侧位置与窗口的宽度进行比较。这可能是最好的方法,考虑了所有因素。这是一个开发良好的插件。这可能是最好的方法,考虑了所有因素。这是一个开发良好的插件。