2012-04-26 5 views
0

jcarouselの '循環'ラップバグについてたくさん読んでいますが、この特定のものは見つかりませんでした。私はjcarouselに '循環'ラップがあり、マウスがスライドしているときにユーザーがスライド上を移動してこの情報を非表示にすると、現在のスライドについての情報を表示したい。これを達成するために、<li>の要素を<div class="description">に包んだままにしておきます。 (「円形」ラップで働いjcarousel中に表示され、現在および将来の)jCarouselに '循環'ラップとlive()/ delegate()関数がスライドに入札されました

$('#carousel').jcarousel(
    auto: 3, 
    wrap: 'circular', 
    scroll:1, 
    initCallback: mycarousel_initCallback, 
    size:5 
}); 

、バインド<li>要素にイベント(私もlive()でバリアントを試してみました):

$('#carousel').delegate(
         'li', 
         'mouseover', 
         function(){ 
          $(this).find('.description').slideDown(); 
          return false; 
         } 
        ); 
       $('#carousel').delegate(
         'li', 
         'mouseout', 
         function() { 
          $(this).find('.description').slideUp(); 
          return false; 
         } 
        ); 

そして、これが正常に動作し、時折スライドの説明が表示されるのを止めると、ある時点(私にとっては完全に不定で、使用の最初の秒か、順方向/逆方向のハードタップの数分でもよい)になります。私はこれをデバッグしようとすると、この壊れたスライドのイベントでイベントが発生していることがわかりました。descriptionがあるdomエレメントが存在しますが、slideDown()/ slideUp()は何もしません。そしてこのスライドは、ページを再読み込みするまで壊れています。

なんらかの理由で私は他のラップに変更することができず、jQueryを1.3(または1.4、実際には覚えていない)からもっと新しいバージョンに変更することはできません。何か案は ?

答えて

0

短い話ですが、この問題は、jQueryアニメーション機能とjCarouselのやりとりに関連しています。スライドショーの周回ラップがある時点で、スライドを表す新しいノードを作成して削除し始めます。そして、アニメーションが終了していないときにノードを削除すると、jQueryのfxキューが 'ハング'します。この問題を避けるため、私はスライドを削除する前にこのキューをクリアしなければなりませんでした。ハックのように見えますが、それは私のようにはうまくいくことはありません。

関連する問題