如何只执行一次这个Jquery代码

时间:2016-08-03 06:26:12

标签: javascript jquery html wordpress

首先,对不起,如果我的英语不好,我就是法国人!

所以,我有一个执行的脚本在页面中达到了一定程度的滚动。此脚本是一个数字计数器,当滚动使其可见时(在单页网站的中间)启动。 但是我不知道如何使这个脚本运行一次。

所以,当我到达包含计数器的部分时,这个部分开始达到一个特定的数字。但是当我再次滚动时,计数器从0重新开始。 我想我已经找到了循环,但是我对Js的了解并不足以修改它......你能帮帮我吗?

谢谢!

3 个答案:

答案 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)