Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.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 设置间隔不';不要被解雇_Javascript_Jquery - Fatal编程技术网

Javascript 设置间隔不';不要被解雇

Javascript 设置间隔不';不要被解雇,javascript,jquery,Javascript,Jquery,下面是我用来定期运行函数的函数。我使用这个函数来改变身体的背景。但它不会因为某种原因被解雇。请帮我输入这个代码 setInterval(uiImageChanger(),1); function uiImageChanger(){ var currentTime = new Date().getHours(); var images = ['image1.jpg','image2.jpg']; if( currentTime >

下面是我用来定期运行函数的函数。我使用这个函数来改变身体的背景。但它不会因为某种原因被解雇。请帮我输入这个代码

setInterval(uiImageChanger(),1);

    function uiImageChanger(){
        var currentTime = new Date().getHours();
        var images = ['image1.jpg','image2.jpg'];

        if( currentTime > 00 && currentTime <= 12){
            $('body').css('background-image', "url(" + randomImagePicker(images ,'breakfast') + ")");
        }else if( currentTime > 12 && currentTime <= 16){
            $('body').css('background-image', "url(" + randomImagePicker(images ,'lunch') + ")");
        }else if( currentTime > 16 && currentTime <= 00){
            $('body').css('background-image', "url(" + randomImagePicker(images ,'dinner') + ")");
        }
    }

    function randomImagePicker(imgArray,time){
        if(time == 'breakfast'){
            return "../images/main_image/breakfast/" + imgArray[Math.floor(Math.random() * imgArray.length)];
        }else if(time == 'lunch'){
            return "../images/main_image/lunch/" + imgArray[Math.floor(Math.random() * imgArray.length)];
        }else if(time == 'dinner'){
            return "../images/main_image/dinner/" + imgArray[Math.floor(Math.random() * imgArray.length)];
        }
    }
setInterval(uiImageChanger(),1);
函数uiImageChanger(){
var currentTime=new Date().getHours();
var images=['image1.jpg','image2.jpg'];

如果(currentTime>00&¤tTime 12&¤tTime 16&¤tTime从setInterval函数参数中删除参数。现在,这将调用函数并将函数的返回值设置为对setInterval的引用,这里是
未定义的
,因为您不返回任何内容。因此,基本上您是将interval设置为noth因此,在设置setInterval时,除了第一次执行之外,什么也不会发生

改变

setInterval(uiImageChanger(),1); // This will invoke the function immediately.


从setInterval函数参数中删除parens。现在,这将调用函数并将函数的返回值设置为对setInterval的引用,这里是
未定义的
,因为您不返回任何内容。因此,基本上您是在不设置任何内容的情况下设置interval,因此在设置设置间隔

改变

setInterval(uiImageChanger(),1); // This will invoke the function immediately.


您必须传递指向函数的指针,而不是执行该函数

setInterval(uiImageChanger,1);

您必须传递指向函数的指针,而不是执行该函数

setInterval(uiImageChanger,1);

有多种方法可以使用setInterval定义要执行的函数。 其中一种方法是使用函数引用,其示例由#mohkhan给出。 但是,您也可以执行以下操作

    setInterval(function(){
           // code comes here.
    }, time_in_mills);

我还看到您提到函数执行的值为1。这意味着每1毫秒函数将被执行一次,这根本不是一个好的做法。请给出一个以毫秒为单位的实际时间,这样您就有足够的时间让代码执行。

有多种方法定义要执行的函数d使用setInterval。 其中一种方法是使用函数引用,其示例由#mohkhan给出。 但是,您也可以执行以下操作

    setInterval(function(){
           // code comes here.
    }, time_in_mills);

此外,我还看到您提到函数执行的值为1。这意味着每1毫秒函数将被执行一次,这根本不是一个好的做法。请给出一个实际的毫秒时间,这样您就有足够的时间让代码执行。

关于
setInterval()
问题。我想指出代码中的几个其他问题

首先,此测试将始终失败:

else if( currentTime > 16 && currentTime <= 00)

关于
setInterval()
问题,您已经得到了一些答案。我想指出代码中的几个其他问题

首先,此测试将始终失败:

else if( currentTime > 16 && currentTime <= 00)

另请参见:)注意,第二个参数中的1是1毫秒,持续1秒,你需要提及1000是的,我算出了!:)谢谢!另请参见:)注意,第二个参数中的1是1毫秒,持续1秒,你需要提及1000是的,我算出了!:)谢谢!