2

私はjqueryを始めたばかりで、それが大好きです。

現在、私は次の、一見単純なシナリオを作成しようとしています。テキストが画面に表示され、メインコンテンツがクリックされるたびに、テキストは別のテキストセットにフェードインおよびフェードアウトします。

これで、あるテキストから別のテキストに移行するときにこれを実行できましたが、何らかの理由で他のテキストをチェーンすることができませんでした。ヒントは本当にありがたいです!

HTMLは次のとおりです。

<div id="mainContent">
    <h3 id="bodyText">This is the original text</h>
</div>

そして、これがスクリプトです:

$(document).ready(function() {
    $('#mainContent').click(function () {
        $('#bodyText').fadeOut(function () {
            $(this).text("This is the new text!").fadeIn();
        });
    });
});

*編集:

たぶん「チェーン」は適切な用語ではありません-私は単にユーザーがメインをクリックして画面上のテキストを特定の回数(パワーポイントの基本的なスライドショーのスライド間を移動するように)変更できるようにしようとしていますコンテンツエリア。これまでのすべての回答と提案に感謝します。私はあなたのソリューションを実装する方法を考えています。

4

3 に答える 3

0

この場合、イベントのバブリングについて読む必要があります。クリックイベントはDOMツリーをバブリングしません。代わりに.live()を使用する必要があります。ただし、最新バージョンのjQuery.live()では非推奨になっているため、 .on()イベントを使用する必要があります。これを繰り返すことに関する限り、あなたはこれを介してループする必要があり、それはを介して達成することができます.each()

于 2012-12-31T07:12:29.683 に答える
0

クリック時にフェードアウト効果を追加し、$。ajaxを使用してPHPページから別のテキストを取得し、それをフェードイン効果として表示するだけです。

于 2012-12-31T07:13:03.863 に答える
0

これはあなたを助けるかもしれません

$('#mainContent').unbind('click'); Or you can have livequery() instead.

...................................

$(document).ready(function() {
    $('#mainContent').click(function () {
        $('#bodyText').fadeOut(function () {
            $(this).text("This is the new text!").fadeIn();
            $('#mainContent').unbind('click');
            // Or what ever binding you want to add.
        });
    });
});
于 2012-12-31T07:18:04.737 に答える