0
我剛開始使用jQuery的原型,並正在與負載函數來執行一些腳本工作一旦頁面已經被加載:控制序列
$(window).load(
function()
{
Stuff happens
}
);
但是,你怎麼加函數列表並控制它們執行的順序?我很難將所有我想要加載的東西放在'東西發生'區域,所以我需要能夠添加和刪除數組中的東西並更改順序。然後加載一個頁面,執行該列表。
任何線索?
我剛開始使用jQuery的原型,並正在與負載函數來執行一些腳本工作一旦頁面已經被加載:控制序列
$(window).load(
function()
{
Stuff happens
}
);
但是,你怎麼加函數列表並控制它們執行的順序?我很難將所有我想要加載的東西放在'東西發生'區域,所以我需要能夠添加和刪除數組中的東西並更改順序。然後加載一個頁面,執行該列表。
任何線索?
你可能會嘗試這樣的事情。
首先,設置你的功能:
var func1 = function(){ alert('this'); };
var func2 = function(){ alert('that'); };
接下來,讓一個數組來包含他們所需的順序:
var funcs = [
function(){alert('a');}, // anonymous, defined inline
function(){alert('b');},
func2, // or by reference
func1, // you control the sequence
];
funcs.push(function(){alert('c');}); // etc
最後,在load
處理程序:
$(window).load(function(){
$.each(funcs, function(i,thisfunc){ // or native js for() if you prefer
thisfunc();
});
});
當load
事件觸發時,您將收到警報一個b這個c。這與jQuery如何使用其私有的readylist
數組處理此類事情並非完全不同。
「改變順序」部分是棘手的,你能提供一個這樣的例子嗎? – 2010-06-28 15:33:51
這聽起來不像特定的問題,因爲它是控制流程的一般難點,所以你的問題不夠具體,無法提供答案。如果你想得到答案,你必須做更多的事情來解釋你想要做什麼,以及你遇到的確切問題。 – 2010-06-28 16:17:01