JQuery图库非function性淡入淡出效果
这是一个简单的图片库脚本,用于淡入和淡出具有背景图像的div。 它很慢而且工作不正常。
- 看起来所有图像都会出现并消失在一起而没有任何动画
-
这个图库应该将每个图像淡入下一个图像
function gallery() { timerp = window.setInterval(function() { $('.cornerimg').fadeOut(2000); if ($('.cornerimg:visible') == $('.cornerimg').last()) { $('.cornerimg').first().fadeIn(2000); } else { $('.cornerimg').next().fadeIn(2000); }; }, 6000); } }
有什么想法吗?
next()
只找到选择器的下一个兄弟。 它不会跟踪你的位置。 我会做一个setInterval并传递当前索引。 例如:
function gallery() { ind = 0; l = $('.cornerimg').length; $('.cornerimg').fadeOut(500); window.setInterval( function() { if ( ind > 0 ) $('.cornerimg').eq(ind-1).fadeOut(2000); if (ind == l) { ind = 0; } $('.cornerimg').eq(ind).fadeIn(500); ind++; }, 2000 ); } $(function() { gallery() });
为了避免元素移位,将函数添加为fadeOut
的回调,而不是异步发生。
注意:全局变量一般不是最好的方法,只是为了给你一个想法。 更好的forms是拥有一个用setTimeout
调用自身的函数,并且每次都传递递增的ind参数。
UNTESTED。