需要jquery闪烁文本只闪烁8秒,然后停止

时间:2012-05-30 08:17:30

标签: jquery

我需要在8秒后停止闪烁文字。一切都很完美,除了能够在8秒后停止它。我是新手,需要帮助...

以下是我正在使用的代码,请提供建议或在此代码中添加我需要在8秒后停止的代码:

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>

<div id="msg"> <strong><font color="red">text example</font></strong></p> </div>

<script type="text/javascript" >
function blink(selector){
    $(selector).fadeOut('slow', function(){
        $(this).fadeIn('slow', function(){
            blink(this);
        });
    });
}

blink('#msg');
</script>

谢谢

3 个答案:

答案 0 :(得分:6)

您可以尝试添加代码:

var stopBlinking = false;
setTimeout(function() 
{
    stopBlinking = true;
}, 8000);

function blink(selector) {
    $(selector).fadeOut('slow', function() {
        $(this).fadeIn('slow', function() {
            if (!stopBlinking)
            {
                blink(this);
            }
            else
            {
                $(this).hide();
            }
        });
    });
}

查看示例here

答案 1 :(得分:1)

<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.1.min.js"></script>

<div id="msg"> <strong><font color="red">text example</font></strong></p> </div>

<script type="text/javascript" >
var timer = 0;

var timeSpan = setInterval(function(){
    timer++;
},1000);

function blink(selector)
{
    if(timer == 0)
        timeSpan;
    $(selector).fadeOut('slow', function(){
        $(this).fadeIn('slow', function(){
            if(timer < 8)
               blink(this);
                    else
                    {
                  clearInterval(timeSpan);
              $(this).hide();
                    }
        });
    });
}

blink('#msg');
</script>

试试这个

答案 2 :(得分:0)

function blink(selector){

  // all blink happen with 8 seconds interval

  setTimeout(function() {

   $(selector).fadeOut('slow', function(){

        $(this).fadeIn('slow', function(){

            blink(this); // recursive function will call after fadeIn finish

        });
   });

  }, 8000); // set interval to 8 seconds
}