0

クラシックaspで複数のテキストをそれぞれ点滅させる方法は? JavaScript でタイマーを作成しようとしています。IE、Firefox、および Chrome で動作する必要があります。ありがとう

<script type="text/javascript">
     var col = new String();
     var x = 1;
     var y;

     function blink() {
          if (x % 2) {
               col = "rgb(255,0,0)";
          } else {
               col = "rgb(255,255,255)";
          }

          aF.style.color = col;
          aF1.style.color = col;
          aF2.style.color = col;
          aF3.style.color = col;
          x++;

          if (x > 2)
          { x = 1 }; 
          setTimeout("blink()", 2000);
     }
</script>
4

1 に答える 1

1

クロージャーの力を利用できます。コードを使用して効果を設定しましたが、フォントの色を変更する代わりに、jquery のフェードインおよびフェードアウト効果を使用して、よりスムーズな外観にすることをお勧めします。また、フォント効果は、要素全体ではなくテキスト部分でのみ機能します。不透明度で遊ぶか、jQueryを使用する方が良いでしょう

function blink(node)
{
     var x = 1;
     var timer;
     function start_blink()
     {
         if(x%2==0)
         col = "rgb(255,255,255)";
         else
         col = "rgb(255,0,0)";

         node.style.color =  col;             

         x++;    
         if (x > 2)
          { x = 1 };      

     }
     function stop()
     {
       if(timer)
        clearInterval(timer);
      }
     timer = setInterval(start_blink,2000);

     return stop;
}

使い方

var ele = document.getElementById('whomYouWantToBlink');
var stopper = blink(ele);

// to stop you can always call stopper() to stop the respective elements blinking effect
于 2014-01-22T06:06:47.260 に答える