首先,对不起,如果我的英语不好,我就是法国人!
所以,我有一个执行的脚本在页面中达到了一定程度的滚动。此脚本是一个数字计数器,当滚动使其可见时(在单页网站的中间)启动。 但是我不知道如何使这个脚本运行一次。
所以,当我到达包含计数器的部分时,这个部分开始达到一个特定的数字。但是当我再次滚动时,计数器从0重新开始。 我想我已经找到了循环,但是我对Js的了解并不足以修改它......你能帮帮我吗?
谢谢!
答案 0 :(得分:1)
使用cookies。 使用cookie并在第一次滚动时设置标志。 下次检查标志是否设置如果是,脚本不应该执行。
如果存在,使用document.off可能会影响其他ajax调用。
答案 1 :(得分:0)
试试这段代码。在访问者滚动超过40%的页面内容后,您可以执行所有操作。
var f=0; //assign flag as global variable
jQuery(window).scroll(function(){
var wintop = jQuery(window).scrollTop(), docheight = jQuery(document).height(), winheight = jQuery(window).height();
var scrolltrigger = 0.4; /* assign initial value for 40% scroll
if ((wintop/(docheight-winheight)) > scrolltrigger) {
if(f==0) {
console.log(Scroll reaches 40% of content));
/*
Do your stuff after vistor scroll more than 40% of your page content. And it executes only once.
*/
f=1;
}
}
});
答案 2 :(得分:0)
试试这个:
var once = function(){
//TO DO
once = function(){};
}
once()
如果你想要捕获事件,你可以尝试jQuery('').one('scroll', callback)