это мой код jquery. Этот код содержит три функции. Эта три функции повторяются для цикла. Но этот код не работает должным образом. Как сделать рекурсивный вызов с тремя функциями. pid1, pid2, pid3
идентификатор тега.
$(document).ready(function(){
function animate()
{
$('#pid1').fadeOut(3000, function()
{
$(this).text('string1').fadeIn(3000);
});
animate1();
}
function animate1()
{
$('#pid2').fadeOut(3000, function()
{
$(this).text('string2').fadeIn(3000);
});
animate2();
}
function animate2()
{
$('#pid3').fadeOut(3000, function()
{
$(this).text('string3').fadeIn(3000);
});
animate();
}
});
Я хочу поделиться одним шаблоном здесь:
var observer = {
list: {},
add: function(id, item){this.list[id] = item},
del: function(id){delete this.list[id];},
announce: function(data){
for(var id in this.list){
setTimeout(function(){
this.list[id](data);
}, 0);
}
}
}
Применение:
observer.add('first', function(data){
console.log('first', data);
})
observer.add('second', function(data){
console.log('second', data);
})
var i = 0;
setInterval(function(){observer.announce(++i);}, 300);
Вы можете пропустить параметр данных или использовать все arguments
затем объявить вам subscibers...
Этот шаблон равен тому, как работают события
Извините, что я неправильно понял вопрос...
Вот правильный код:
function foo1(){
console.log(1);
setTimeout(foo2, 1000);
}
function foo2(){
console.log(2);
setTimeout(foo1, 1000);
}
window.onload = foo1;
function a() {
/* stuff */
}
function b() {
/* stuff */
}
var functionArray = [a(), b()];
$.each(functionArray, function(key, value) {
/* extra stuff while looping through functions */
});
[a(), b()];
- не надо называть здесь а б ...