2012-01-21 9 views
3

私はliのリストを持ち、そのうちの1つがクリックされるとアニメーションがトリガーされます。それにもかかわらず、私の最後のアニメーションは動作しません。クリックされたliのサイズを変更することになっています:$('#wrapper li').index(this).css({'width': '200px'}); ".index(this)"を削除すると、すべてのliで動作していますが、これもまた私が望むものではありません。ここで完全なコードの下に。あなたの返事をどうもありがとうございます。乾杯。マーククリックしたliの幅を変更するアニメーション

$('#wrapper li').click(function() { 

    //Here is set my varaibles 

    $('#wrapper li').slice(startLi, endLi).animate({ 
     "left": '-=' + leftDistance 
    }, "fast", function() { 
     $('#wrapper li').slice(indexLi + 1, endLi).stop().animate({ 
      "left": "+=225px" 
     }, "slow", function() { 
      $('#wrapper li').index(this).css({'width': '200px'}); 
     }); 
    }); 
}); 

答えて

0

.index.cssが動作していない理由である、Numberを返します。あなたはそれが(イベントハンドラ内でクリックされた要素を参照)thisの外側の値をキャッシュし、それを使用して動作させることができクリック李

のサイズを変更することになっている

後であなたのアニメーション機能で:

$('#wrapper li').click(function() { 
    var self = this; 
    //Here is set my varaibles 

    $('#wrapper li').slice(startLi, endLi).animate({ 
     "left": '-=' + leftDistance 
    }, "fast", function() { 
     $('#wrapper li').slice(indexLi + 1, endLi).stop().animate({ 
      "left": "+=225px" 
     }, "slow", function() { 
      $(self).css({'width': '200px'}); 
     }); 
    }); 
}); 
+0

Hy Andrewそれは働いている!どうもありがとうございました。あなたはロック!あなたは私の夕方をうまく始めるようにしました。 – Marc

+0

@ user1162116:喜んで助けてください! ':)' –

+0

3分を助けたら答えを "受け入れる"ことを忘れないでください... – Marc

関連する問題