1

次のコードと8つの異なる.overlay要素があります。クリックした.overlayに応じて、#targetのテキストを一意の値に変更したいと思います。これらのうち8つを使用し、セレクターとして.overlayクラスの代わりに一意のIDを使用すると機能しますが、「テキスト」の代わりにvarを使用して、できるだけクリーンにすることをお勧めします。

$('.overlay').on("click",function(){
    $('#target').animate({'opacity': 0}, 1000, function () {
        $(this).text("some text");
    }).animate({'opacity': 1}, 1000);
});
4

2 に答える 2

1

アイテムに属性を追加してdata、その値を使用できます。.overlay次のようになります。

$('.overlay').on("click",function(){
    var $clicked = $(this);
    $('#target').animate({'opacity': 0}, 1000, function () {
        $(this).text($clicked.data('text'));
    }).animate({'opacity': 1}, 1000);
});

html は次のようになります。

<div class="overlay" data-text="some-text"></div>
于 2013-03-14T18:40:18.180 に答える
1

オーバーレイにタイトル属性を設定してから、次のようにします。

$('.overlay').on("click",function(){
    var text = $(this).attr("title");
    $('#target').animate({'opacity': 0}, 1000, function () {
        $(this).text(text);
    }).animate({'opacity': 1}, 1000);
});

デモhttp://jsfiddle.net/calder12/PJTre/1

于 2013-03-14T18:44:26.910 に答える