30 lines
712 B
JavaScript
30 lines
712 B
JavaScript
(function(){
|
||
|
||
// $('.table').visibleChange(function(isShow){
|
||
// if(isShow==1){
|
||
// //被看见了
|
||
// }else{
|
||
// //看不见了
|
||
// }
|
||
// });
|
||
|
||
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;
|
||
};
|
||
})(); |