JQuery循环闪烁图像
JQuery blinking image in cycle
我有一个闪烁的图像。有一个jquery代码:
function blink(){
$("#light_3_1").animate({"opacity": 0}, 400 ).animate({"opacity": 1}, 400 );
}
$(document).ready(function(){
setInterval(blink, 500);
});
我想做延迟效果(10秒的闪烁,然后停止一段时间,然后再次闪烁,再次停止…),但我找不到怎么做的方法
我听说你喜欢间隔,所以让我们设置一个间隔来控制你的间隔,这样你就可以在运行间隔时运行间隔。
下面的实时演示有一个运行在500ms的"闪烁间隔"和一个控制闪烁间隔的"暂停间隔",运行在2000ms:
function blink() {
$("#light_3_1").animate({
"opacity": 0
}, 400).animate({
"opacity": 1
}, 400);
}
var blinkInterval;
var pauseInterval;
var blinking = true;
$(document).ready(function () {
blinkInterval = setInterval(blink, 500);
pauseInterval = setInterval(toggleBlink, 2000);
});
function toggleBlink() {
if (blinking) {
clearInterval(blinkInterval);
blinking = false;
} else {
blinkInterval = setInterval(blink, 500);
blinking = true;
}
}
#light_3_1 {
width: 150px;
height: 150px;
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="light_3_1"></div>
JSFiddle版本:https://jsfiddle.net/kv18e1sL/1/
因为您想在10segs(10,000 ms)后停止,您只需要增加一个变量来关闭SetInterval。
我给你做了一个样品:http://jsfiddle.net/leojavier/t83tb683/
但是你应该使用CSS animation
,这样你的动画不会影响你的javascript线程。
$(document).ready(function(){
var counter = 0;
function blink(){
$("#light_3_1").animate({"opacity": 0}, 400 ).animate({"opacity": 1}, 400 );
counter++;
if(counter > 9) {
clearInterval(interval);
}
}
var interval = setInterval(blink, 500);
});
这是一个版本的CSS(推荐): http://jsfiddle.net/leojavier/t83tb683/1/
相关文章:
- 如何使用按键避免图像闪烁
- 使用setInterval()函数进行图像闪烁
- addClass,它更改bg图像,但在第一次加载时没有闪烁
- 悬停时setInterval中的图像闪烁
- 按下按钮时图像持续闪烁
- jQuery图像在悬停时闪烁
- 当使用MouseEvent将图像更改为其他图像时,如何避免闪烁
- 正在创建随机图像闪烁
- iOS 8中滚动时的背景图像闪烁问题
- Javascript-使图像出现,然后将其替换为另一个图像(闪烁)
- 如何在渲染Backbone视图时防止图像闪烁
- 无法使图像闪烁(得到)预期的错误
- 鼠标经过时图像闪烁
- Skrollr图像闪烁.Firefox预加载问题
- 防止在src更改时出现大图像闪烁
- 如何在Javascript中使图像闪烁和重叠
- 图像闪烁然后消失
- 图像闪烁ajax轮询
- 使用图像映射时,鼠标悬停上的图像闪烁javascript
- 从本地主机加载时图像闪烁