2010-06-28 4 views
0

Я только начал использовать JQuery от прототипа и тружусь с функцией загрузки, чтобы выполнить некоторые сценарии когда страница была загружена:Контроллинг последовательность функции загрузки JQuery

$(window).load(
function() 
{ 
Stuff happens 
} 
); 

Однако, как вы добавляете список функций и контроль порядка их выполнения? Трудно поместить все, что я хочу загрузить в области «вещи», поэтому мне нужно иметь возможность добавлять и удалять материал из массива и изменять порядок. Затем загрузите одну страницу, выполните этот список.

Любые подсказки?

+0

Часть «изменить порядок» сложна, можете ли вы привести пример этого? –

+0

Это не похоже на конкретную проблему, так как это общий труд с вашим потоком управления, поэтому ваш вопрос недостаточно конкретный, чтобы дать ответ. Вам нужно будет сделать больше, чтобы объяснить, что вы пытаетесь сделать, и точную проблему, с которой вы столкнулись, если вы хотите получить ответ. –

ответ

1

Вы можете попробовать что-то вроде этого.

Сначала установите свои функции:

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, вы получите предупреждения a b, что это c. Это не все, что отличается от того, как jQuery обрабатывает подобные вещи с помощью своего собственного массива readylist.