2012-04-11 103 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);