2012-02-26 73 views
3

我是一个新手,我试图找出如何在元素上闪烁盒子阴影,但我不能。如何使用jQuery闪烁阴影?

到目前为止,我得到了this

理论上,它应该工作。我在内部使用setInterval for循环,但它不起作用。另外,我想我有一些问题与切换功能。

重点是,当页面开始加载时,我希望该元素的box-shadow从非常快到非常慢开始闪烁,并最终停止。

你有什么建议吗?

回答

8

我同意Praveen Vijayan。下面是使用CSS3关键帧的展示:http://jsfiddle.net/ufP7h/

@-webkit-keyframes twinkly { 
    0% { box-shadow: 0 0 10px #6c9; } 
    100% { box-shadow: 0 0 10px red; } 
} 
@-moz-keyframes twinkly { 
    0% { box-shadow: 0 0 10px #6c9; } 
    100% { box-shadow: 0 0 10px red; } 
} 
@-ms-keyframes twinkly { 
    0% { box-shadow: 0 0 10px #6c9; } 
    100% { box-shadow: 0 0 10px red; } 
} 

#twinkle { 
    -webkit-animation: twinkly 1s alternate infinite; 
    -moz-animation: twinkly 1s alternate infinite; 
    -ms-animation: twinkly 1s alternate infinite; 
} 

+0

不是问题的答案,但至少有一个很好的演示kenyframes如何工作。 – Christoph 2012-02-26 18:32:17

+0

这是接近我想要的,但你能告诉为什么循环不工作?我想要做的是,当页面加载元素开始闪烁非常快,然后缓慢。对于(i = 0; i <1000; i + = 100)setInterval(twinkle,i); } – FoxKllD 2012-02-26 19:55:45

+0

恐怕我帮不了你。 – 2012-02-27 09:24:20

4

你正在尝试做一些这样的事 - http://jsbin.com/eceziw/4

$(function() { 
    var x = 0; 
    function twinkle() { 
    if(x){ 
     $('#twinkle').addClass('shadowAnim'); 
     x =0; 
    }else{ 
     $('#twinkle').removeClass('shadowAnim'); 
     x=1; 
    }       
} 
    setInterval(twinkle, 1000); 
}); 

但是,它能够更好地使用CSS3关键帧动画。

+0

可我也用的setInterval在for循环? – FoxKllD 2012-02-26 19:58:12

+0

这是一个坏主意。最终目的是什么? – 2012-02-27 12:48:47

+0

我想让它慢慢闪烁,然后闪烁得非常快!可能吗? thnx – FoxKllD 2012-02-29 00:02:14