0

我有一个名为的 html 页面search.html,其中包含滑块,它们在此页面中完美运行。

我正在尝试使用 jQuery .load() 函数将此页面加载到另一个页面(我的主页)中。

我从 中删除了滑块初始化,search.html并将其放在主页面的 load() 回调函数中,以便在通过 AJAX 设置的 DOM 准备好后执行,如下所示:

$("#display_area").load("search.html","",function(response,status,xhr){ 
//#display_area is a div
$( "#sliderprice" ).slider({ max: 1000 },{ step: 10 }); 
//#sliderprice is a div
})

我在 search.html 页面和主页的头部都包含 jQuery 和 jQuery UI 的 JS 脚本。

当我加载主页时,有时,滑块可以正常工作,但有时它根本不工作(不初始化),发生这种情况时,萤火虫的错误控制台显示: $("#sliderprice").slider 是不是函数

我所做的只是刷新页面,有时它可以工作,有时不能。

我想解决这个问题,让它一直有效。任何帮助,将不胜感激。

4

1 回答 1

0

我自己找到了解决方案,我所要做的就是从search.html页面中删除 jQuery 和 jQuery UI 的 JS 脚本,并将其仅保留在主页中。

显然,将它放在两者中,会在 .load() 函数触发时再次重新加载脚本,有时回调函数会在脚本完成重新加载之前触发。

我不知道脚本插入和加载如何通过 .load() 或一般工作,但它解决了问题。

于 2012-06-26T14:08:37.013 回答