1

読み込まれたコンテンツ内に既にある id# のタグをクリックすることによってトリガーされるコンテンツを .load しようとしています。

現時点では、これを使用して最初にコンテンツをロードし、nivo スライダーを実行してから、新しいコンテンツをロードしようとすると問題が発生します。

$(document).ready(function() {
$("#pegasus-tile, #o-w").click(function(){
    $("#proj-content").load("projects/pegasus.html", function(){

        $('<div id="slider" class="nivoSlider"></div>');
        $('#slider').nivoSlider({effect: 'sliceUpDown'}),

    $("#next-pegasus").click(function(){
        $("#proj-content").load("projects/bg-app.html");        

        });
      });
   });
}); 
4

2 に答える 2

1

.empty次の前にa を実行する.load

$(document).ready(function() {
    $("#pegasus-tile, #o-w").click(function(){
        $("#proj-content").empty().load("projects/pegasus.html", function(){
            $('<div id="slider" class="nivoSlider"></div>');
            $('#slider').nivoSlider({effect: 'sliceUpDown'}),
    $("#next-pegasus").click(function(){
        $("#proj-content").empty().load("projects/bg-app.html");        

        });
      });
   });
}); 
于 2012-05-23T19:31:21.357 に答える
1

.live() 関数を見てください。

ID next-pegasus を持つ要素が動的に追加され、デフォルトの .click()-Listener がこの要素を「見る」ことができないため、コードは機能しません。これを機能させるには、次のように #next-pegasus 要素のクリック リスナーを実装します。

$('#next-pegasus').live('click', function() {
    // do the same stuff here ...
});

編集:

.live() は推奨されていないため、代わりに .on() 関数を使用してください。

于 2012-05-23T19:32:52.047 に答える