我试图加载一个php页面到一个元素,然后将滑块应用于加载的内容。
问题是在执行函数并且滑块已经开始工作后,内容需要几秒钟才能加载。
我试图以某种方式延迟滑块功能的执行,直到php嵌入功能完成。jQuery/Javascript的 - 延迟一个函数的执行,直到另一个完成
这里是我的代码:
$(document).ready(function() {
ajaxpage("products.php?type=featured&order=salesNumber", "featuredArea");
});
$(document).ready(setTimeout(function() {
$(".productsArea").easySliderProducts({
nextText: "Next",
prevText: "Previous"
});
document.getElementById("outputHere").innerHTML = $(".page ul#featuredArea li").length;
$(".page").easySlider({
s: $(".page ul#featuredArea li").length,
auto: true,
continuous: false,
nextId: "featNextArrow",
nextText: "",
prevId: "featPrevArrow",
prevText: "",
pause: 7500
});
}, 1000));
我为了使用setTimeout函数分离两者。
它适用于我,但结果可能会有所不同,其他人。
我想知道是否有可能等到ajaxpage函数完成加载页面然后继续执行代码?
AjaxPage代码:http://pastebin.com/XWa0jD77
easySlider1.7代码:http://pastebin.com/CzK8BzfL
我想过从嵌入页面中调用滑块,虽然这是行不通的。
settimeout作为document.ready的参数不会阻止antyhing,您可能会删除document.ready。 –
AjaxPage片断缺少一个非常重要的功能块,我建议不要使用它,只是使用jQuery来满足您的ajax需求。 (它不支持Deferred对象,它不允许你指定一个回调来完成或失败) –
是的,只需用jQuery的.load()替换你的ajaxpage函数,就可以传回一个回调来运行只有当请求完成时。 – Mahn