[英]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.