2016-10-19 162 views
1

我的HTML代码眨眼即停止10秒后,每10秒在消息和眨眼再次

<a id="blink">123qwe</a> 

我的Java脚本代码

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


function blink(selector) { 
    $(selector).fadeOut('slow', function() { 
     $(this).fadeIn('slow', function() { 
      if (!stopBlinking) 
      { 
       blink(this); 
      } 
      else 
      { 
       setInterval(function() 
          { 
           stopBlinking = true; 
          }, 10000); 
      } 
     }); 
    }); 
} 
blink("#blink"); 

此代码后10秒不眨眼。这段代码有什么问题?

请帮帮我。

在此先感谢。

+0

我不明白你追求的效果。你能详细说明你想要做什么吗?无论如何,这听起来像你应该用CSS动画/转换来代替JavaScript/jQuery。 –

+0

@Madara Uchihai想要在10秒钟后闪烁一条消息,之后应该停止闪烁10秒。之后再次开始闪烁。它像一个消息闪烁的循环。 10秒开始 - > 10秒停止 - > 10秒开始相反。 – Dixit

回答

2

试试这个:

var interval = 10000; 
 
var stopBlinking = false; 
 

 
function blink(selector) { 
 
    if(stopBlinking) 
 
     return false; 
 
\t 
 
    $(selector).fadeOut('slow', function() { 
 
     $(this).fadeIn('slow', function() { 
 
      blink(this); 
 
     }); 
 
    }); 
 
} 
 

 
blink("#blink"); 
 

 
setInterval(function(){ 
 
    stopBlinking = !stopBlinking; 
 
    blink("#blink"); 
 
}, interval);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="blink">123qwe</a>

+1

这样做的最好方法我同意 - 这是比我的答案更干净的方式 – smuff

1

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

 

 
function blink(selector) { 
 
    $(selector).fadeOut('slow', function() { 
 
    $(this).fadeIn('slow', function() { 
 
     if (!stopBlinking) { 
 
     blink(this); 
 
     } else { 
 
     stopBlinking = false; 
 
     setTimeout(function() { 
 
      blink(selector) 
 
      setTimeout(function() { 
 
      stopBlinking = true; 
 
      }, 10000); 
 
     }, 10000); 
 
     } 
 
    }); 
 
    }); 
 
} 
 

 
blink("#blink");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<a id="blink">Blinking Message</a>

+0

感谢@smuff工作的魅力! – Dixit

+0

什么是使用css – Dixit