Javascript - 在加载后运行另一个函数后运行函数*?

时间:2011-11-29 17:28:12

标签: javascript jquery

我正在使用scrollsaver.js(http://en.hasheminezhad.com/scrollsaver)来维护回发中元素的滚动位置。有些情况下我希望重置滚动位置,但我很难这样做。

通过列表进行分页,我希望滚动到每个页面的顶部更改。我这样做是通过在分页处理程序中注册对resetGridScroll(下面)的调用。

scrollsaver.js与页面加载事件相关联。当我这样做时,我的函数在scrollsaver.js加载位置之前运行。有没有办法强制我的页面加载后运行?

function resetGridScroll() {
    $(document).ready(function () {
        $("div.items").animate({ scrollTop: 0, easing: 'swing', queue: false }, 15000);
    });
}

编辑:我最终清除了cookie scrollsaver.js设置以存储滚动位置。它在脚本加载之前被清除,因此所有位置都被重置。不优雅,但可行。

2 个答案:

答案 0 :(得分:2)

如果您需要加载外部js脚本并在其后执行代码,则可以使用$.getScript()并将代码放入回调中:

$.getScript("scrollsaver.js", function(){
    //code to execute after the script has loaded here
});

答案 1 :(得分:0)

将调用resetGridScroll()的函数放在:

$(document).ready(function () {
 //here
});

例如,不是要调用您的函数:

$(document).ready(function () {
   resetGridScroll();
});


function resetGridScroll() {
    $("div.items").scrollType(0);
    $("div.items").animate({ scrollTop: 0, easing: 'swing', queue: false }, 15000);
}