0

割り当てられたテキストを2色、グレー、および関数の実行時に設定した色の値の間で交互にするjavascript関数があります。

これが私が使用するコードです。関数:

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 ); 

flashingtextは、flashingtext2追加されるたびに増加し、色は交互になる色(この場合は白)に設定されます。

それで

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

発生するインスタンスごとに新しいJavaScriptを追加する必要がないように、このコード全体を削減する方法はありますか?だから私は関数をダウンさせて、残りをスパンタグで定義することができますか?何かのようなもの

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

私が与える色は常にそれと灰色の間で交互になります

基本的に、真ん中のビットを切り取ります。

注:jqueryを使用すると、より簡単な方法が得られます。

4

2 に答える 2

1

jQueryを使用すると、要素のクラスを切り替えて、各クラスに色を設定させることができます

setTimeout(function() {
$('#flashText').toggleClass('gray');
}, 500);
于 2012-04-11T22:13:44.450 に答える
0

すべてのインスタンスに同じコードを適用する場合は、要素に「flashingtext」などの共通のクラスを指定して、グループとして選択できるようにしますが、インラインスタイルで個々の色を設定します。

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

次に、「灰色」のクラスがあります。

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

!importantインラインスタイルをオーバーライドできるように使用します。

次に、関数はその「flashingtext」クラスを持つすべての要素を選択し、「gray」のオンとオフを切り替えることができます。

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

デモ: http: //jsfiddle.net/yenK9/

スパンにを割り当てて、id他の目的で個別に選択できるようにする必要がある場合は、先に進んでください。ただし、この色の場合は、その必要はありません。

于 2012-04-11T22:25:19.637 に答える