外部页面div加载jQuery元素错误

时间:2012-12-18 19:13:19

标签: java javascript ajax jquery

如果有人比我更了解jQuery(这可能是99%,因为这是我第一周试用这段代码:)还剩下一些时间,我真的需要一些答案。对不起,英语不正确。

你们中的一些人可能已经阅读了我提出的关于将外部页面内容放入div和UI选择幻灯片元素的其他问题,这些元素在这样的加载div中正确加载,这是该主题的延续,现在我希望解决这个问题我创建了一个新主题来收集这里的信息。主要问题是为什么UI滑块(选择元素)在加载(从另一页中的div)到div(通过jQuery(在同一主页)中)时不起作用。

这是我用来将内容加载到网站的代码:

load_script.js
$(document).ready(function(){
    $('#div_that_will_receive_content').load('from_page.html #from_div');
});

问题:问题以两种不同的方式发生。 1:当只加载DIV时,滑块剂量显示,div中的evrything els显示,除了滑块之外,div加载正确。滑块在加载时刻显示0.1秒,然后消失。 2:当整个站点被加载(包括ui滑块)时,内容循环和站点永远不会停止加载,当在浏览器中检查时,在几秒钟内加载25-30mb。即使在这种情况下,滑块在负载时刻显示的时间可能为0.1秒,而且滑块闪烁的位置的循环加载也是如此。

Page_1.html

<html>
<head>
<script src="jquery-1.8.3.js" type="text/javascript"></script>
<script src="jquery-ui-1.9.2.js" type="text/javascript"></script>
<script src="load_script.js" type="text/javascript"></script>

<link href="jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />

<script>
$(function() {
    $( "#slider" ).slider();
});
</script>
</head>
<body>

<div id="div_1">DIV 1 = This is where the content of div_2 should be</div>

</body>
</html>

Page_2.html

<html>
<head>
<script src="jquery-1.8.3.js" type="text/javascript"></script>
<script src="jquery-ui-1.9.2.js" type="text/javascript"></script>
 <script src="load_script.js" type="text/javascript"></script>

<link href="jquery-ui-1.9.2.custom.css" rel="stylesheet" type="text/css" />

<script>
$(function() {
    $( "#slider" ).slider();
});
</script>
 </head>
<body>

<div id="div_2">DIV 2 = This div containing a slide-select-element will be loaded to to     div_1</div>

</body>
</html>

load_script.js

<script>
    $(document).ready(function(){
        $('#div_1').load('Page_2 #div_2');
});
</script>

我仍然遇到一些问题。现在的问题是,如果我将整个Page2.html加载到Page1.html中的div中,那么一切顺利。但是,如果我只是加载来自Page2.html的选定div,则幻灯片元素不会显示,但其余内容会显示(文本)。

这项工作和整个页面都加载了包括滑块:

<script>
    $(document).ready(function(){
        $('#div_1').load('Page_2');
});
</script>

这不起作用,滑块不显示,但其余内容确实(文字):

<script>
    $(document).ready(function(){
        $('#div_1').load('Page_2 #div_2');
});
</script>

有没有人知道这取决于什么?

1 个答案:

答案 0 :(得分:1)

删除第二页上的所有脚本导入 - 您只需要加载一次 - 每次加载load_script.js时 - 它会导致无限循环,因为这是您的加载函数所在。然后,您可以使用.load()的回调函数来初始化滑块。

$(document).ready(function(){
    $('#div_that_will_receive_content').load('from_page.html #from_div',function(){
         $( "#slider" ).slider();
    });
});

如果您也独立使用该页面,那将会破坏您的页面2。如果是这种情况,那么您只需要从第2页中删除以下内容

<script src="load_script.js" type="text/javascript"></script>