簡體   English   中英

Javascript - 在加載后運行另一個函數后運行函數*?

[英]Javascript - Run function *after* another function runs on load?

我正在使用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設置存儲滾動位置。 它在腳本加載之前被清除,因此所有位置都被重置。 不優雅,但可行。

如果你需要加載外部js腳本並執行代碼,你可以使用$ .getScript()並將代碼放在回調中:

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

將調用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);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM