Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
Jquery 多个if语句不是';行不通_Jquery_If Statement_Settimeout - Fatal编程技术网

Jquery 多个if语句不是';行不通

Jquery 多个if语句不是';行不通,jquery,if-statement,settimeout,Jquery,If Statement,Settimeout,我不明白我做错了什么。我还有一些if语句,但只有第一个会触发。我想这是因为他们都在同时检查变量,然后函数就结束了。这就是为什么我把它全部放在一个setTimeout中,这样它就可以连续调用这个函数来检查数字是否发生了变化。我该怎么做 var slide=1; alert(slide); setTimeout(function(){ if (slide == 1){ slide = '2';

我不明白我做错了什么。我还有一些if语句,但只有第一个会触发。我想这是因为他们都在同时检查变量,然后函数就结束了。这就是为什么我把它全部放在一个setTimeout中,这样它就可以连续调用这个函数来检查数字是否发生了变化。我该怎么做

var slide=1;
    alert(slide);
        setTimeout(function(){
            if (slide == 1){
                slide = '2';
                alert(slide);
                $('img.slidephoto').attr('src',"images/slide2.png");
            }
            else if (slide == 2){
                slide = '3';
                alert(slide);
                $('img.slidephoto').attr('src',"images/slide3.png");

            }
            }, 1000);
需要使用定期执行函数,只执行一次函数

var slide = 1;
alert(slide);
setInterval(function () {
    if (slide == 1) {
        slide = '2';
        alert(slide);
        $('img.slidephoto').attr('src', "images/slide2.png");
    } else if (slide == 2) {
        slide = '3';
        alert(slide);
        $('img.slidephoto').attr('src', "images/slide3.png");

    }
}, 1000);
它可以写得更好使用

var slide = 1;
setInterval(function () {
    slide++;
    $('img.slidephoto').attr('src', "images/slide" + slide + ".png");
    //reset the value to 1 on upper bound
    // ex: slide = slide > 3 ? 0: slide; if there are maximum of 3 images like slide1.png, slide2.pnd and slide3.png
}, 1000);
需要使用定期执行函数,只执行一次函数

var slide = 1;
alert(slide);
setInterval(function () {
    if (slide == 1) {
        slide = '2';
        alert(slide);
        $('img.slidephoto').attr('src', "images/slide2.png");
    } else if (slide == 2) {
        slide = '3';
        alert(slide);
        $('img.slidephoto').attr('src', "images/slide3.png");

    }
}, 1000);
它可以写得更好使用

var slide = 1;
setInterval(function () {
    slide++;
    $('img.slidephoto').attr('src', "images/slide" + slide + ".png");
    //reset the value to 1 on upper bound
    // ex: slide = slide > 3 ? 0: slide; if there are maximum of 3 images like slide1.png, slide2.pnd and slide3.png
}, 1000);

slide=3
在这里永远不会赢。太好了。我完全忘记了赛特威特。谢谢你,slide=3,这里永远不会赢。太好了。我完全忘记了赛特威特。谢谢一个问题是字符串“2”不等于整数2。当您设置
slide='2'时
,如果(slide==2),则不会触发
。一个问题是字符串“2”不等于整数2。当您设置
slide='2'时,如果(幻灯片==2)
,则不会触发