0

これに対する簡単な答えは、次のことです。

$('#div > p').fadeIn()

私の特定のケースでは、それはうまくいかないようです。Web ページで同じ ID をたくさん使用していますが、基本的には>2 回使用する必要があり、うまくいかないようです。

これがJSFiddleです:http://jsfiddle.net/p4sA3/2/

基本的に、#information div からのテキストだけを、他の div-wrap からの新しいテキストにフェードアウトおよびフェードインしたいだけです。

どうすればこれを達成できますか?

jQuery は次のとおりです。

$('#goodbye-wrap').hide();

$('#change').click(function(){

    $('#hello-wrap').fadeOut(200, function(){
        $('#goodbye-wrap').fadeIn(600);
    });

});
4

3 に答える 3

1

複数の要素に同じ ID を使用するべきではありません。それらの要点は、要素に一意の識別子を提供することです。同じ ID を複数回使用している場合は、クラスにする必要があります。適切に分類された要素を使用すると、CSS のセレクターを効果的に使用できるはずです。

とは言っても、あなたにはまだ問題があります。ブロック全体をフェードアウトせずに前のテキストを消すことはできないので、別のアプローチを試す必要があると思います。元の div 内に新しいテキストをネストすると、簡単になります。

それができない場合は (実際にはそうすべきです!)、Hello テキストを黄色にフェードアウトし、hello div をすばやく非表示にして、さようなら div に切り替えてから、さようならテキストを黒色にフェードアウトしてみてください。 . 間違いなくハックですが、時にはそれが必要です。

退色については animate() を参照してください。http://jqueryui.com/animate/

于 2013-05-25T01:26:34.640 に答える
0

最初に html を修正すれば、これは非常に簡単です。

<button id="change">Change</button>
<div>
    <div class="box"> 
        <p class="hello">Hello, this is text1</p>
        <p class="goodbye">Goodbye, this is text1</p>
    </div>
    <div class="box">
        <p class="hello">Hello, this is text2</p>
        <p class="goodbye">Goodbye, this is text2</p>
    </div>
</div>

次に、jQuery は次のようになります。

$('.goodbye').hide();

$('#change').click(function () {
    $('.hello').fadeOut(200, function () {
        $('.goodbye').fadeIn(600);
    });
});

デモ

于 2013-05-25T01:43:56.440 に答える