Javascript 检查可滚动div中的元素是否可见
首先,这可能被认为是一个重复的问题-但是我在搜索时发现的问题没有得到答案: 我似乎找不到一个解决方案来检查一个元素在一个有滚动条的父div中是否可见,显然有一些方法可以做到这一点,偏移量是从父元素开始的,但我想知道是否有一个全面的解决方案,可以检查包装成插件的同一个选择器中的每一个,这样就可以不断地检查它 我目前使用的插件仅限于实际的窗口视口,我不相信可以将其更改为可滚动的div 当前代码:Javascript 检查可滚动div中的元素是否可见,javascript,jquery,plugins,viewport,Javascript,Jquery,Plugins,Viewport,首先,这可能被认为是一个重复的问题-但是我在搜索时发现的问题没有得到答案: 我似乎找不到一个解决方案来检查一个元素在一个有滚动条的父div中是否可见,显然有一些方法可以做到这一点,偏移量是从父元素开始的,但我想知道是否有一个全面的解决方案,可以检查包装成插件的同一个选择器中的每一个,这样就可以不断地检查它 我目前使用的插件仅限于实际的窗口视口,我不相信可以将其更改为可滚动的div 当前代码: ;(function($, win) { $.fn.inViewport = function(c
;(function($, win) {
$.fn.inViewport = function(cb) {
return this.each(function(i,el){
function visPx(){
var H = $(this).height(),
r = el.getBoundingClientRect(), t=r.top, b=r.bottom;
return cb.call(el, Math.max(0, t>0? H-t : (b<H?b:H)));
} visPx();
$(win).on("resize scroll", visPx);
});
};
}(jQuery, window));
;(功能($,win){
$.fn.inViewport=函数(cb){
返回此值。每个函数(i,el){
函数visPx(){
var H=$(this).height(),
r=el.getBoundingClientRect(),t=r.top,b=r.bottom;
返回cb.call(el,Math.max(0,t>0)H-t:(b