2011-12-18 15 views
7

jqueryを使用してクラスの追加を遅らせようとしています。すべてのコードはうまく動作しますが、ホバーアウト機能が完了してから、誰かが私にどのようにしてくださいか教えてくれるまで、.addClass('hideText')を遅らせたいと思いますか?ここjQueryのアニメーションの遅延クラスを追加する

コードである:

$(document).ready(function() { 

$('.listing div').addClass('hideText'); 

$('.listing div').hover(

function() { 
    $(this) 
    .stop(true) 
    .removeClass('hideText') 
    .animate(
     {top: '0'}, 
     {duration: 300, easing: 'linear', queue: false} 
    ) 
    }, 
    function() { 
     $(this) 
     .stop(true) 
     .animate(
      {top: '150px'}, 
      {duration: 300, easing: 'linear', queue: false} 
     ) 
     .addClass('hideText') 
    }); 

})。

答えて

2

置きコールバックで.addClass()ライン:

$(document).ready(function() { 

$('.listing div').addClass('hideText'); 

$('.listing div').hover(

function() { 
    $(this) 
    .stop(true) 
    .removeClass('hideText') 
    .animate(
     {top: '0'}, 
     {duration: 300, easing: 'linear', queue: false} 
    ) 
    }, 
    function() { 
     $(this) 
     .stop(true) 
     .animate(
      {top: '150px'}, 
      {duration: 300, easing: 'linear', queue: false}, 
      function() { 
       $(this).addClass('hideText'); 
      } 
     ); 
    }); 
}); 
+1

残念ながら助けてくれてありがとうございました。 .listing divはまだうまくアニメーション化され、.hideTextクラスは最初に追加されて取り除かれますが、アニメーションが完了した後は追加されません。 – Gareth

+0

例へのリンクを入力してください。 – Interrobang

0

は、あなたがこのような関数をキューイングしたことがありますか?

function() { 
     $(this).stop(true).queue(function (next) { 
      .animate(
       {top: '150px'}, 
       {duration: 300, easing: 'linear', queue: false}, 
      next(); 
     }) 
     function() { 
      $(this).addClass('hideText'); 
     } 
    }); 
+0

こんにちはキース。申し訳ありませんが、私はそれをどのように解決したか忘れていました。しかし、時間をとっていただきありがとうございます。 – Gareth

関連する問題