【发布时间】:2017-01-27 05:53:59
【问题描述】:
我正在尝试实现这种背景效果,它改变了相似的背景,结果是故障,类似旧电视的效果,可以在this page上看到。
在 css 文件中,我有:noise-bck--1,noise-bck--2,noise-bck--3,它们有不同的背景,在 JavaScript 中我尝试用 setInterval 循环它们,但出了点问题。
效果图可以在这些链接上找到,请下载:
这是我的 sn-p:
(function() {
var frontBck = document.querySelector('.noise-bck');
var count = 0;
var i;
i = setInterval(update, 100);
function update() {
frontBck.classList.remove('noise-bck--1');
frontBck.classList.remove('noise-bck--2');
frontBck.classList.remove('noise-bck--3');
count++;
frontBck.classList.add('noise-bck--' + count);
if (count == 4) {
count = 1;
}
}
}());
body {
margin: 0;
padding: 0;
font-size: 100%;
}
.noise-bck {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
}
.noise-bck--1 {
background-image: url('bg1.png');
}
.noise-bck--2 {
background-image: url('bg2.png');
}
.noise-bck--3 {
background-image: url('bg3.png');
}
<div class="noise-bck"></div>
【问题讨论】:
-
当计数达到 4 时,您需要将其设置回 1
-
function update() { frontBck.classList.remove('noise-bck--'+count); count++; if (count>3) count=1; frontBck.classList.add('noise-bck--' + count); }
标签: javascript background-image setinterval effects