0

jQuery と div のフェードインとフェードアウトに問題があります。3 つのタブがあり、それぞれが別の div に対応しており、他の div をフェードインおよびフェードアウトする必要があります。ただし、タブをクリックすると、本来のようにフェードインおよびフェードアウトしますが、一時的にコンテンツが押し下げられます。私は簡単に CSS を使用できposition:absoluteましたが、それが私の究極の最後の手段です。 jQueryの修正をさらに探しています。

ここに、私が言おうとしていることを表示するための jsfiddle があります: http://jsfiddle.net/swYYy/

これまでのところ、与えられたすべての回答は期待どおりに機能しませんでした。半分の時間しか機能せず、バグが多すぎて効果的ではありませんでした。私はまだ合理的な答えを探しています。

4

3 に答える 3

1

add() を取り出すと、好みに合わせて機能しますが、完全には機能しません

http://jsfiddle.net/swYYy/7/

私はあなたが何をしようとしているのか知っています。ちょっと待ってください。もっと良いものを提供します

アップデート:

これを使用http://jsfiddle.net/swYYy/9/

于 2012-07-20T20:51:32.850 に答える
0

更新された短いフィドル: http://jsfiddle.net/swYYy/12/

JSコードは次のとおりです。

$('#page2').hide();
$('#page3').hide();
$('.settings-options-tab').click(function() { 
    var index=$('.settings-options-tab').index(this);
    $('div[id^=page]:visible').stop(true,true).fadeOut(1000, function() {
        $('.settings-pages').hide();
        $('.settings-pages:eq('+index+')').fadeIn(1000);
    });
});
​
于 2012-07-20T21:08:57.360 に答える
0

これは私にとってはうまくいきます。tab2 クリックだけでテスト:

$('#tab2').click(function() { 
   $('#page1, #page3').stop(true,true).fadeOut(1000).promise().done(function() {
      $('#page2').fadeIn(1000);
   });
})
于 2012-07-20T20:57:50.313 に答える