我有一个元素可以触发函数“scrollIntoView()”。现在我必须在触发该事件时检测并捕获该事件。
我这样触发它:
$('.element').scrollIntoView();
所以我尝试用 jquery 来捕获它,如下所示:
$('.element').on('scroll', function() { // STUFF });
$('.element').on('scrollIntoView', function() { // STUFF });
但不幸的是它不起作用。
这可能吗?它会触发哪个事件?
最佳答案
$.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
}
关于javascript - 使用 jquery 检测元素的 'scrollIntoView' 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48267932/