Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/78.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_Jquery_Css_Background Image - Fatal编程技术网

更改背景图像jquery

更改背景图像jquery,jquery,css,background-image,Jquery,Css,Background Image,所以我试着从一组三张图片中旋转背景图片。我想出了一个办法,但是这里发生了一些事情。从下面的示例中,您应该得到i=0、1和2,但仍然达到值3!!而newBg[3]是未定义的!所以它停留了10秒,什么也没显示 您可以在此处找到一个工作示例: 正文{ 背景:url('img/fond1.png')没有固定的重复中心; 背景色:黑色; -moz背景尺寸:封面; -webkit背景尺寸:封面; -o-背景尺寸:封面; 背景尺寸:封面; -webkit转换:2s; -moz跃迁:2s; -ms转换:2s;

所以我试着从一组三张图片中旋转背景图片。我想出了一个办法,但是这里发生了一些事情。从下面的示例中,您应该得到i=0、1和2,但仍然达到值3!!而newBg[3]是未定义的!所以它停留了10秒,什么也没显示

您可以在此处找到一个工作示例:


正文{
背景:url('img/fond1.png')没有固定的重复中心;
背景色:黑色;
-moz背景尺寸:封面;
-webkit背景尺寸:封面;
-o-背景尺寸:封面;
背景尺寸:封面;
-webkit转换:2s;
-moz跃迁:2s;
-ms转换:2s;
-o-转变:2s;
过渡:2s;
} 
.黑盒子{
/*边框顶部:1px实心#2b2b*/
左边框:1px实心#2b2b;
右边框:1px实心#000;
边框底部:1px实心#000;
背景:url('img/box\u background\u color\u 1x1.png')重复透明;
}
var newBg=['img/fond1.png','img/fond2.png','img/fond3.png'];
var i=0;
var rotateBg=setInterval(函数(){
如果(i==3)
i=0;
其他的
i++;
$('body').css({backgroundImage:'url('+newBg[i]+'))});
}, 10000);
asdfasdfad

当执行此代码时,如果i等于2会发生什么?它增加到3,然后在
newBg[i]
中使用,这会导致对
newBg[3]
进行不必要的访问。您可以通过将if-else替换为
i=(i+1)%3来修复它
(此处使用的
%
称为模运算符)

当执行此代码时,如果i等于2会发生什么?它增加到3,然后在
newBg[i]
中使用,这会导致对
newBg[3]
进行不必要的访问。您可以通过将if-else替换为
i=(i+1)%3来修复它
(这里使用的
%
称为模运算符)。

什么是@tcovo说的

但我会这样做:

i++;
if ( i > 2 ){
    i = 0;
}
$('body').css({backgroundImage : 'url(' + newBg[i] + ')'});
@tcovo说了什么

但我会这样做:

i++;
if ( i > 2 ){
    i = 0;
}
$('body').css({backgroundImage : 'url(' + newBg[i] + ')'});

信息技术在CSS中声明你的背景并在BODY标签上交换类名要容易得多;在CSS中声明你的背景要容易得多,只需在BODY标记上交换类名就可以了。很抱歉,没有主题,但是你能解释一下用
i=(i+1)%替换if-else背后的数学原理吗请?@BillyMathews不知道我是否可以在这个空间解释;看见在编程中,它可用于使数字“环绕”以适合给定范围(范围
0到n-1
)。示例:
2%3==2
3%3==0
4%3==1
很抱歉没有主题,但是你能解释一下用
i=(i+1)%替换if-else的数学原理吗请?@BillyMathews不知道我是否可以在这个空间解释;看见在编程中,它可用于使数字“环绕”以适合给定范围(范围
0到n-1
)。示例:
2%3==2
3%3==0
4%3==1
i++;
if ( i > 2 ){
    i = 0;
}
$('body').css({backgroundImage : 'url(' + newBg[i] + ')'});