如何向.on添加延迟('click',function()

时间:2016-10-20 13:30:19

标签: javascript

我希望在点击不同的div之后延迟一段时间后在div内显示文字

我的相关javascript:     $( 'CON')。点击(函数(){     $(本).toggleClass( '信');     })     $('。con')。on('click',function(){     $(this).find('span.letter')。text('new text'); 我的相关css:

.con {
position: absolute;
height: 100px; width:100px;
z-index: 1;
top: 350px;
Left: 320px;
}
.con.letter span.letter{
text-align: center;
width: 500px;
height: 100px;
animation-name: introanim;
animation-duration: 7s;
animation-timing-function: linear;
animation-delay: 2s;
animation-iteration-count: infinite;
animation-direction: alternate;
position:absolute ;
top:-300px;
right: 200px;
left: -200px;
z-index: 3;
}

我的相关html:

<div class="con">
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="line"></span>
<span class="box"></span>
<center>
<span class="letter"></span>
</div>
除了延迟之外,我已经完成了大部分工作。请帮忙!

4 个答案:

答案 0 :(得分:1)

你可以试试这个:

$('.con').on('click', function(){
     window.setTimeout((function(){
       $(this).find('span.letter').text('new text');
     }).bind(this), 10);
 });

答案 1 :(得分:0)

你可以使用setTimeout回调,例如:

$('.con').on('click', function() {
    setTimeout(function(){
        method_here()
    }, delay);
}

另见:

callBack

setTimeOut

Promise

答案 2 :(得分:0)

您可以使用setTimeout函数执行延迟:

setTimeout(function(){
  $('#someid').addClass("done");
  //Here add what you need
}, 2000);

或者检查jQuery的.delay函数:http://api.jquery.com/delay/

答案 3 :(得分:0)

我认为你可以使用超时,

你可以试试这个:

$('.con').on('click', function() {
  setTimeout(function {
    $(this).find('span.letter').text('new text');
  }, 2000);
});