1

jqueryを使用してtdの不透明度をアニメーション化しようとしています。1 つの td をクリックすると、任意の td がアニメーション化され、クリックされた td がフェードインされます。

ちらつきに関する奇妙な問題が発生しています。

http://jsfiddle.net/s4gtp/

クリックされている td はフェードインしますが、すぐにフェードインして再びフェードアウトします。firebug を確認しましたが、イベントは 1 回だけ発生しています。順序付けられていないリストで同じコードを試しましたが、すべてが期待どおりに機能します。

なぜこれが起こっているのでしょうか?

4

1 に答える 1

1

.not($(this))最初のアニメーションに追加してみてください:

$('tr td').click(function() {
    var i = $(this).index();
    $('tr td').not($(this)).animate({'opacity': '0.1'});
    $('tr td.item' + i).animate({'opacity': "1"});
});

border-collapse:separate;また、 CSS でテーブルを指定する必要があります。これにより、Firefox で発生している問題が解決されます。

ここに更新された jsFiddle があります > http://jsfiddle.net/s4gtp/4/

ただし、他のコメンターが述べているように、「ちらつき」は見られなかったので、クリックした要素がフェードアウトしてからフェードインすることを意味していると思います...

于 2012-05-02T10:26:07.547 に答える