2012-04-11 100 views
0

我有一个javascript函数,使分配的文本在2种颜色,灰色和运行函数时设置的颜色值之间交替。缩短javascript/jquery函数

这是我使用的代码。功能:

function flashtext(ele,col) { 
var tmpColCheck = document.getElementById(ele).style.color; 

    if (tmpColCheck === 'gray') { 
    document.getElementById(ele).style.color = col; 
    } else { 
    document.getElementById(ele).style.color = 'gray'; 
    } 
} 

然后对每一个独特的闪光我做(在飞行中产生的内容):

 setInterval(function() { 
     flashtext('flashingtext1','#ffffff'); 
     }, 500); 

数量flashingtextflashingtext2增量每一个,并且将颜色设置为它会交替使用的颜色,在这种情况下是白色的。

然后

<span id='flashingtext2'>flash me</span> 

有什么办法,我可以下来修剪这整个代码,所以我并没有增加新的javascript发生的每个实例。所以我可以将功能关闭,然后在span标签中定义其余部分?像

<span id=flashingtext data=#ffffff> flash white </span> 

的颜色,我给的东西总是和灰色

基本上,切出的中间位之间交替。

注:也使用jquery,如果这给出了一个更简单的方法。

+0

等等,它们会自动闪烁?你有没有想要控制这些闪光?或者他们只是一直闪光? – Joseph 2012-04-11 22:10:33

+0

我不需要真正控制它们,只是每500个闪光。我控制它们是否出现在使用php serverside。 – user1022585 2012-04-11 22:12:50

回答

0

如果你想在相同的代码适用于所有情况下,然后给元素的通用类,说“flashingtext ”,这样就可以选择它们作为一个群体,但是有一个内嵌样式设置单独的颜色:

<span class='flashingtext' style='color: white'>flash me</span> 

然后有一个‘灰色’类:

span.gray { color : gray !important;}​ 

它使用!important,因此它可以覆盖内联样式。

然后你的函数可以选择有“flashingtext”类的所有元素,并切换“灰色”打开或关闭:

setInterval(function() { 
    $(".flashingtext").toggleClass("gray"); 
}, 500); 

演示:http://jsfiddle.net/yenK9/

如果您需要分配一个id到跨度,以便您可以单独选择它们用于其他目的,然后继续,但对于这种颜色的东西,你不需要。

1

使用jQuery你可以切换元件类,并让每个班级设置彩色

setTimeout(function() { 
$('#flashText').toggleClass('gray'); 
}, 500);