javascript中的幻灯片放映转换
我似乎无法让这个幻灯片与javascript一起工作。图像在第一个图像上正确地淡入淡出,但在第二个图像过渡时,它似乎立即跳到图像,而不是像前一个图像那样过渡javascript中的幻灯片放映转换,javascript,css,Javascript,Css,我似乎无法让这个幻灯片与javascript一起工作。图像在第一个图像上正确地淡入淡出,但在第二个图像过渡时,它似乎立即跳到图像,而不是像前一个图像那样过渡 <script type="text/javascript"> var images = ["image1.png", "image2.png", "image3.jpg"]; var imagecount = 0; window.setInterval(setImage,5000); function setI
<script type="text/javascript">
var images = ["image1.png", "image2.png", "image3.jpg"];
var imagecount = 0;
window.setInterval(setImage,5000);
function setImage(){
$('.bgimage').fadeIn(5000);
$('.bgimage').css('background-image','url('+images[imagecount]+')');
$('.bgimage').fadeOut(5000);
imagecount++;
if(imagecount > 2){
imagecount=0;
}
}
</script>
var images=[“image1.png”、“image2.png”、“image3.jpg”];
var-imagecount=0;
window.setInterval(setImage,5000);
函数setImage(){
$('.bgimage').fadeIn(5000);
$('.bgimage').css('background-image','url('+images[imagecount]+'));
$('.bgimage')。淡出(5000);
imagecount++;
如果(imagecount>2){
imagecount=0;
}
}
如果看不到html结构或小提琴,很难准确地排除故障。我猜问题可能出在您的fadeIn
和fadeOut
调用上,因为它们当前被设置为每个都有整整5秒的动画,并且彼此同时动画(它们被异步调用)。相反,您应该调整fadeIn
方法,以便在fadeOut
使用内置jQuery回调完成后执行。像这样:
$('.bgimage').fadeOut(500, function() {
$('.bgimage').css('background-image','url('+images[imagecount]+')');
$('.bgimage').fadeIn(500);
});
我还改变了淡入通话的顺序,因为你应该淡出图像,然后更新它(虽然它不可见),然后淡入。你的间歇时间应该仍然按照你想要的方式进行,每5秒跑一次。现在,这些过渡不会花费整整5秒钟的时间来制作动画。如果看不到html结构或小提琴,很难准确地排除故障。我猜问题可能出在您的
fadeIn
和fadeOut
调用上,因为它们当前被设置为每个都有整整5秒的动画,并且彼此同时动画(它们被异步调用)。相反,您应该调整fadeIn
方法,以便在fadeOut
使用内置jQuery回调完成后执行。像这样:
$('.bgimage').fadeOut(500, function() {
$('.bgimage').css('background-image','url('+images[imagecount]+')');
$('.bgimage').fadeIn(500);
});
我还改变了淡入通话的顺序,因为你应该淡出图像,然后更新它(虽然它不可见),然后淡入。你的间歇时间应该仍然按照你想要的方式进行,每5秒跑一次。现在,这些过渡将不需要整整5秒钟的时间来制作动画。感谢您修复了问题解决了问题