javascript - HTML & JS 无限后台循环

标签 javascript html

因为我对 Js 和 html 比较陌生,所以我也想循环一张背景图像,其中一个背景图像很快就会闪烁。我目前面临的问题是使整个过程陷入无限循环......

setTimeout(function ()
{
    document.body.style.backgroundImage = 'url(\'source/css/IMAGES/introInvertImage.jpg\')';
    setTimeout(function ()
    {
        document.body.style.backgroundImage = 'url(\'source/css/IMAGES/introImage.jpg\')';
    }, 300);
}, 3000);

如果我通过 for 或 while 将此代码片段放入无限循环中,它会破坏整个页面..

最佳答案

使用两个函数,这两个函数将以无限的方式相互调用。

function firstPicture() {
  document.body.style.backgroundImage = '...';

  setTimeout(function() {
    secondPicture();
  }, 3000);
}

function secondPicture() {
  document.body.style.backgroundImage = '...';

  setTimeout(function() {
    firstPicture();
  }, 300);
}

firstPicture();
<小时/>

或者在一个函数中

var pictureState = false;

function pictureChanging() {
  var timeout;

  if (pictureState) {
    document.body.style.backgroundImage = '...';

    timeout = 3000;
  } else {
    document.body.style.backgroundImage = '...';

    timeout = 300;
  }

  pictureState = !pictureState;

  setTimeout(function() {
    pictureChanging();
  }, timeout);
}

pictureChanging();

关于javascript - HTML & JS 无限后台循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47348230/

相关文章:

javascript - setState 方法未被调用

javascript - 如何在组合图表(条形图和线条)中分别将 x 轴与条形图对齐?

javascript - 当管理员用户的帐户超时时,如何提醒他们

jquery - 困惑的侧边栏 - 如何将侧边栏与顶部导航栏对齐

HTML 和 CSS - 在 'Border' 图像中显示图像

javascript - 如何从插件更改 firefox 代理

Javascript 脚本返回错误

javascript - 无法在 div 元素上使用 runat 访问 JS 函数

jquery - 图像叠加 HTML/CSS

html - 如何使表元素水平溢出其父容器?