Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
增量计数器Javascript/JQuery_Javascript_Jquery - Fatal编程技术网

增量计数器Javascript/JQuery

增量计数器Javascript/JQuery,javascript,jquery,Javascript,Jquery,我正在想办法使这个计数器工作。在播放了一定数量的动画之后,我想刷新页面。我知道我的代码很烂。我没有受过这方面的教育,而且我是一个新手,更不用说我现在很难集中精力(至少可以说)呆在哪里。。。所以要友善。这是: $(document).ready(function () { function loop() { var p = 0; if (p = 3) { location.reload(true); } else {

我正在想办法使这个计数器工作。在播放了一定数量的动画之后,我想刷新页面。我知道我的代码很烂。我没有受过这方面的教育,而且我是一个新手,更不用说我现在很难集中精力(至少可以说)呆在哪里。。。所以要友善。这是:

$(document).ready(function () {
    function loop() {
        var p = 0;
        if (p = 3) {
            location.reload(true);
        } else {
            $("#p3").delay("1000").fadeIn("slow");
            $("#p3").delay("1000").fadeOut("slow", loop);
            p + 1;
        };
        loop();
    });

我做了一些假设并编写了我认为是您想要的,代码未经测试

将其更改为:

$(document).ready(function () {
    var globalP = 0;
     //this is called when fadeOut completes.
    function fadeComplete() {
       if (globalP == 3) {//if it is 3 reload..
            location.reload(true);
        } else {
            globalP++;//increment counter 
            animate();//start animation again...
        }
    }
    function animate() {
       //start fading in...
       $("#p3").delay("1000").fadeIn("slow", function() {
           //start fading out when the fadeIn completes.
            //should this happen? Since you're fading in the SAME element.
          $("#p3").delay("1000").fadeOut("slow", fadeComplete);
       });
    };
    animate();
});

我做了一些假设并编写了我认为是您想要的,代码未经测试

将其更改为:

$(document).ready(function () {
    var globalP = 0;
     //this is called when fadeOut completes.
    function fadeComplete() {
       if (globalP == 3) {//if it is 3 reload..
            location.reload(true);
        } else {
            globalP++;//increment counter 
            animate();//start animation again...
        }
    }
    function animate() {
       //start fading in...
       $("#p3").delay("1000").fadeIn("slow", function() {
           //start fading out when the fadeIn completes.
            //should this happen? Since you're fading in the SAME element.
          $("#p3").delay("1000").fadeOut("slow", fadeComplete);
       });
    };
    animate();
});
您的
if(p=3)
语句使用赋值运算符
=
而不是比较运算符
==
=
。因此
p
被分配到
3
,其结果是真实的,因此
else
语句永远不会执行

另外,您的
p
变量在
loop()
函数中声明,因此每次调用函数时它都会被重置-您可以将该声明移动到函数之前(将其保留在文档就绪处理程序中:无需使其成为全局变量)

也包括线
p+1
不做任何事情:它不会增加
p
,因为您需要使用
p=p+1
将结果分配回
p
,简称为
p+=1
,或者只是
p++

最后,您发布的代码有一个语法错误:您缺少
loop()
函数中的结束
}
。我猜目的是结束函数,然后调用它,因此:

$(document).ready(function () {
    var p = 0;  // <--- moved outside function
    function loop() {
        if (p === 3) {   // <-- changed = to ===
            location.reload(true);
        } else {
            $("#p3").delay("1000").fadeIn("slow");
            $("#p3").delay("1000").fadeOut("slow", loop);
            p++; // <-- changed from p + 1
        };
    } // <--- this is the missing bracket
    loop();
});
$(文档).ready(函数(){
var p=0;//如果(p=3)
语句使用赋值运算符
=
而不是比较运算符
==
=
,那么
p
将被赋值到
3
,其结果是真实的,因此
else
语句永远不会执行

另外,您的
p
变量在
loop()
函数中声明,因此每次调用函数时它都会被重置-您可以将该声明移动到函数之前(将其保留在文档就绪处理程序中:无需使其成为全局变量)

另外,行
p+1;
没有任何作用:它不会增加
p
,因为您需要使用
p=p+1
将结果分配回
p
,缩写为
p+=1
,或者只是
p++

最后,您发布的代码有一个语法错误:您缺少
loop()
函数中的结束
}
。我猜您的目的是结束函数,然后调用它,因此:

$(document).ready(function () {
    var p = 0;  // <--- moved outside function
    function loop() {
        if (p === 3) {   // <-- changed = to ===
            location.reload(true);
        } else {
            $("#p3").delay("1000").fadeIn("slow");
            $("#p3").delay("1000").fadeOut("slow", loop);
            p++; // <-- changed from p + 1
        };
    } // <--- this is the missing bracket
    loop();
});
$(文档).ready(函数(){

var p=0;//尝试重新编写您的问题我尝试在那里编写,但我做了一些错误的事情,我不知道它是什么。我认为计数器的基本原理是正确的,但我做了一些错误的事情,我没有经验知道它是什么……关于重新编写,我的观点是它将帮助您理解需要包含哪些代码例如,什么元素是
#p3
?啊,对不起,我想这会让事情变得混乱。#p3只是在某个时间出现的一段,它与变量P没有关系,它只是一个计数器,在三个循环的fadein代码之后刷新页面。我正在使用的页面上的实际fadein,FadeOut代码是m再长一点,这是一个简短的版本。我在我的网页上以这种方式使用了大约十段。尝试重新编写你的问题我试图让它在那里工作,但我做了一些错误的事情,我不知道它是什么。我想计数器的基本原理是可以的,但我做了一些错误的事情,我没有经验知道是什么在这一点上,我关于repu的观点是,它可以帮助你理解问题中需要包含哪些代码。例如,
#p3
是什么元素?啊,对不起,我认为这会让事情变得混乱。#p3只是在特定时间出现的一段,它与变量P没有关系,它只是一个刷新pa的计数器三个循环的fadein代码后的页面。我正在使用的页面上的实际fadein,FadeOut代码更长,这是一个缩短的版本。我在我的网页上以这种方式使用了大约十个段落。非常感谢您花时间写出所有这些。非常感谢。请投赞成票并给出正确答案!非常感谢非常感谢你花时间把这些都写出来。非常感谢。请投赞成票并给出正确的答案!非常感谢你花时间回答这个问题。我同意上面的答案只是因为它有点简单:D但无论如何,谢谢你,这也行得通!!非常感谢你花时间回答这个问题。我要只因为上面的答案稍微简单了一点,我就用它来回答:D,但无论如何,谢谢你,这也会有用的!!