试图使$(document).ready与load()一起工作

时间:2012-06-14 17:44:03

标签: jquery ajax document-ready

我正在使用加载功能加载我的页面。该页面包含轨道滑块的初始化代码(Im使用基础)。图像加载但滑块未初始化。

加载slider.html的代码

$("a#1").click( function () {
    $("#center_content").load("pages/slider.html");
});

slider.html中的代码

<div class="row">
    <div class="four columns">Welcome</div>
    <div class="eight columns" id="featured">
        <img src="images/slides/1.jpg" alt="Overflow: Hidden No More" />
        <img src="images/slides/2.jpg"  alt="HTML Captions" />
        <img src="images/slides/3.jpg" alt="and more features" />
        <img src="images/slides/1.jpg" alt="Overflow: Hidden No More" />
        <img src="images/slides/2.jpg"  alt="HTML Captions" />
        <img src="images/slides/3.jpg" alt="and more features" />
    </div>
</div>
<script type="text/javascript">
     $(document).ready(function() {
         $('#featured').orbit();
     });
</script>

2 个答案:

答案 0 :(得分:2)

我想这会有所帮助。 load完成后绑定轨道功能,并在slider.html页面中删除绑定。

$(function(){
    $("a#1").click( function () {
        $("#center_content").load("pages/slider.html",function(){
             $('#featured').orbit();
        });
    });
});

答案 1 :(得分:2)

取自documentation

  

脚本执行

     

使用不带后缀的URL调用.load()时   选择器表达式,内容在脚本之前传递给.html()   被删除。这将执行脚本块之前   丢弃。如果调用.load()并附加了一个选择器表达式   但是,在DOM之前,脚本会被删除   更新,因此不执行。

如果您需要在html中包含代码,我认为您不需要使用$ .ready(),因为脚本标记位于您尝试绑定的html之后。没有它它应该执行得很好。 我猜您的代码不起作用,因为当load()函数解释脚本时,尚未插入html。之后,当插入html时,不再有代码可以执行