开发者

How to display a blinking / flashing link in html

I am in need a link that will flash every 500 milleseconds, for a duration of 5 seconds... I remember long ago having a link like this, b开发者_运维知识库ut deleted it because one could only click it when it was visible. Is there a workaround for that?


Try this:

<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;x++;if(x>2){x=1};setTimeout("blink()",500);
}
</script>


<body onload="blink()">

<a id="aF" href="http://www.google.com"><b>*Google!*</b><br>


There is a JavaScript function in Script.aculo.us to do that : Have a look on Effect.Pulsate


There is CSS

text-decoration: blink

but that will blink your link all the time, you would need some javascript to change the style after 5 seconds.


Remember to always keep usability for all users in mind. Especially if you're making something flash at a certain frequency. Just be careful.


'A' quick JQuery UI version... Links need CLASS 'flasher', and an ID

Will start on mouseover...and stop on mouseout.

Also add the secondarycolor as a hover to the 'A' link...it will help mask the initial interval delay at start.

var flashInterval;
var flasherId;
var firstColor = '#EF7F2C';
var secondaryColor = '#3296C8';
var flashTime = 300;

jQuery('a.flasher').mouseover(function() {
    if(flasherId){ jQuery('#'+flasherId).animate({ color:firstColor},0); }//stop any previous flashing link
    flasherId = jQuery(this).attr('id');//get id of current link
    //set interval
    flashInterval = setInterval(function(){ jQuery('#'+flasherId).animate({ color:secondaryColor},flashTime).animate({ color:firstColor},flashTime); },flashTime*2);
}).mouseout(function() {
    clearInterval(flashInterval);//clear interval
    jQuery('#'+flasherId).animate({ color:firstColor},0);//reset flasher
    flasherId = '';//clear flasher var
}); 
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜