1

我正在尝试加载一些内容,这些内容是通过单击带有 id# 的标签触发的,该标签已经在加载的内容中。

目前我首先使用这个(波纹管)来加载内容,运行一个 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在下一个之前运行.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 元素实现 click-Listener,如下所示:

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

编辑:

请改用 .on() 函数,因为不推荐使用 .live()。

于 2012-05-23T19:32:52.047 回答