我有一个元素,我在其上触发函数' scrollIntoView()'。现在我必须在触发时检测并捕获此事件。
我这样触发它:
$('.element').scrollIntoView();
所以我试着用jquery用这样的东西来抓住它:
$('.element').on('scroll', function() { // STUFF });
$('.element').on('scrollIntoView', function() { // STUFF });
但不幸的是它没有用。
这甚至可能吗?它会触发哪个事件?
答案 0 :(得分:1)
$.fn.inView = function(){
var win = $(window);
var obj = $(this);
var scrollPosition = win.scrollTop();
var visibleArea = win.scrollTop() + win.height() ;
var objEndPos = (obj.offset().top + obj.outerHeight());
return(visibleArea >= objEndPos && scrollPosition <= objEndPos ? true : false)
};
这会奏效。但在滚动内你可以做
if(element.inView()) {
do this
}