Javascript FadeIn和FadeOut图像的问题
我有一个淡入淡出的脚本,但是图像并没有很好地淡入淡出。 首先,第一个图像淡出,然后是下一个图像淡入。在褪色之间,你什么也看不见。我希望图像同时淡出和淡入 有人知道怎么修吗? 我想我必须编辑下面的一些行Javascript FadeIn和FadeOut图像的问题,javascript,jquery,Javascript,Jquery,我有一个淡入淡出的脚本,但是图像并没有很好地淡入淡出。 首先,第一个图像淡出,然后是下一个图像淡入。在褪色之间,你什么也看不见。我希望图像同时淡出和淡入 有人知道怎么修吗? 我想我必须编辑下面的一些行 for (var i = 0; i < slider.num; i++) { if(i == slider.cur || i == pos) continue; jQuery('#' + d[i].id).hide(); } if(slider.cur != -1){ j
for (var i = 0; i < slider.num; i++) {
if(i == slider.cur || i == pos) continue;
jQuery('#' + d[i].id).hide();
}
if(slider.cur != -1){
jQuery('#' + d[slider.cur].id).stop(false,true);
jQuery('#' + d[slider.cur].id).fadeOut(slider.fade_speed ,function(){
jQuery('#' + d[pos].id).fadeIn(slider.fade_speed);
});
}
else
{
jQuery('#' + d[pos].id).fadeIn(slider.fade_speed);
}
for(变量i=0;i
如果希望fadeIn和fadeOut同时发生,则需要将fadeIn从成功回调中取出,并将其与fadeOut函数并行:
if(slider.cur != -1){
jQuery('#' + d[slider.cur].id).stop(false,true);
jQuery('#' + d[slider.cur].id).fadeOut(slider.fade_speed);
jQuery('#' + d[pos].id).fadeIn(slider.fade_speed);
}
如果它们同时淡出,则应使用CSS将它们放置在相同的位置,以便它们显示在相同的位置:
div img {
position: absolute; /* absolute positioning in the div */
left: 0; /* position the images at the top left hand corner of the div */
top: 0;
}
div {
position: relative; /* relative positioning of the div itself */
}
然后,可以通过不使用成功回调同时设置两个图像的动画。回调仅在动画完成时运行
var imgs = $("div img"); // images
imgs.slice(1).hide(); // hide all except first
$("div").show(); // show the div (hide it initially because the images
// are loading which causes some flicker)
function fade(i) {
imgs.eq(i).fadeOut(1000); // fade out this one
imgs.eq(i + 1).fadeIn(1000); // fade in next one immediately
}
var i = 0;
setInterval(function() {
fade(i); // fade to the next image every 2 seconds
i++;
}, 2000);