(function(){ X.pageLogic['visibleChange'] = { init : function(parms){ var observer = new IntersectionObserver(function(changes){ changes.forEach(function(item,index){ var callback = $(item.target).data('_visibleChangeCall'); if(item.intersectionRatio > 0){ //target:被观察的目标元素,是一个 DOM 节点对象 callback && callback.call( item.target,1); }else{ callback && callback.call( item.target,0); } }); }); $.fn.visibleChange = function(callback) { this.each(function(){ $(this).data('_visibleChangeCall',callback); observer.observe( this ); }); return this; }; $('.layui-col').visibleChange(function(isShow){ if(isShow==1){ //被看见了 }else{ //看不见了 } }); } }; })();