jQuery / Javascript - 延迟执行一个函数,直到另一个函数完成

时间:2012-06-21 14:58:45

标签: javascript jquery ajax function delay

我正在尝试将php页面加载到元素中,然后将滑块应用于加载的内容 问题是在执行功能并且滑块已经开始工作后,内容需要几秒钟才能加载 我试图以某种方式延迟滑块功能的执行,直到php嵌入功能完成。

这是我的代码:

$(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

我考虑过从嵌入页面中调用滑块,但这不起作用。

1 个答案:

答案 0 :(得分:7)

由于你已经在使用jquery,我建议你扔掉你的ajaxpage函数并改用$jQuery.load();

正如你在jquery doc`s中看到的那样,load()带有一个回调函数,它完全符合你的需要。