jquery - 如何确定在窗口中/折叠下方是否可以查看项目

AnA*_*ice 7 jquery

使用jquery,确定元素是否在折叠之下的最佳方法是什么,这意味着它也不在窗口中并且对用户不可见?

谢谢

use*_*716 16

我假设你指的是它是否已被滚出视野.

如果是这样,试试这个:

if( $(window).scrollTop() + $(window).height() > $('#my_el').offset().top ) {
    // element is in view
}
Run Code Online (Sandbox Code Playgroud)

示例: http ://jsfiddle.net/8x4Zd/

(单击结果面板以测试目标元素是否在视图中.然后向下滚动并重复.)

如果要确保整个元素在视图中,请将其添加.height()到等式中.

示例: http ://jsfiddle.net/8x4Zd/1/

var win = $(window);
var el = $('#my_el');
var winPos = win.scrollTop() + win.height();
var elPos = el.offset().top + el.height();

if( winPos > elPos ) {
    // element is in view
}
Run Code Online (Sandbox Code Playgroud)