gpt4 book ai didi

javascript - 使用 jQuery 更改正文背景图像

转载 作者:搜寻专家 更新时间:2023-10-31 22:46:03 25 4
gpt4 key购买 nike

我决定制作一个每 10 秒更改一次 body 背景图像的功能。

function Background()
{
var Background_Stage;
switch(Background_Stage)
{
case 0:
{
$('body').css.('background', '#000 url(../../Styles/Callum_Project1/Images/BACKGROUND_1_TEST.png) no-repeat');
Background_Stage++;
setInterval(function(){Background()},10000);
}
case 1:
{
$('body').css.('background', '#000 url(../../Styles/Callum_Project1/Images/BACKGROUND_2_TEST.png) no-repeat');
Background_Stage++;
setInterval(function(){Background()},10000);
}
case 2:
{
$('body').css.('background', '#000 url(../../Styles/Callum_Project1/Images/BACKGROUND_2_TEST.png) no-repeat');
Background_Stage = 0;//Reset
setInterval(function(){Background()},10000);
}
}
}

然而我做了这样的事情

<body onload="Background()"></body>

它似乎没有做任何事情,寻求帮助可能是一件愚蠢的事情,但这是我在学习 JavaScript 时第一次这样做,我应该说我使用 jQuery 完成了大部分工作。

最佳答案

您的代码存在一些问题:

  • Background_Stage 的值不会在对 Background 的调用之间保持不变,并且在任何情况下,您都不会为 Background_Stage 赋值。
  • 使用 setTimeout 而不是 setInterval。 setTimeout 将在分配的时间结束时调用该函数一次。 setInterval 将不断调用同一个函数,直到明确取消。按照您的方式,您最终会运行大量并发的 setIntervals。
  • 你不需要'.'在 css 和后面的括号之间。

最后,尽量不要重复自己,这意味着如果您发现自己一遍又一遍地输入或多或少相同的语句,那么您可能会使代码更清晰。像这样的东西:

(function() 
{
var bgCounter = 0,
backgrounds = [
"../../Styles/Callum_Project1/Images/BACKGROUND_1_TEST.png",
"../../Styles/Callum_Project1/Images/BACKGROUND_2_TEST.png",
"../../Styles/Callum_Project1/Images/BACKGROUND_3_TEST.png"
];
function changeBackground()
{
bgCounter = (bgCounter+1) % backgrounds.length;
$('body').css('background', '#000 url('+backgrounds[bgCounter]+') no-repeat');
setTimeout(changeBackground, 10000);

}
changeBackground();
})();

现在更改背景 URL 或添加更多是编辑背景数组的简单工作。

关于javascript - 使用 jQuery 更改正文背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18723103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com