Я использую библиотеку jQuery
, fancybox
и vgrid
(http://blog.xlune.com/2009/09/vgrid/demo007.html)
Я хочу добиться некоторой последовательной анимации fadeIn. Это часть моего кода, которая делает следующее:
array2=[]
for(item in data_array)
{
_item= $(data_array[item]).hide()
vg.prepend(_item);
array2.push(_item)
}
$('a[rel=fancybox]').fancybox(
{'transitionIn':'elastic', 'transitionOut':'elastic', 'titlePosition':'inside', }
);
ctr=0;
seqAnim=function()
{
alert('seqAnim '+ctr+', '+array2.length+" , "+array2[ctr]);
if(ctr!=array2.length)
{
array2[ctr].show();
alert('fading in');
array2[ctr++].fadeIn(300, seqAnim);
alert('done fading in');
}
else
{
// $('a[rel=fancybox]').fancybox(
// {'transitionIn':'elastic', 'transitionOut':'elastic', 'titlePosition':'inside', }
// );
alert('all done');
}
}
vg.vgrefresh(null, null, null, seqAnim)
это может быть не самый лучший способ сделать это, но он работает. По крайней мере, в FF и Chrome. Но в ie9 , это не работает. Я имеюпытался отладить его с помощью вызовов alert
, но я не могу найти ошибку. Предупреждающие вызовы в функции seqAnim
всплывают только один раз.