Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript中的幻灯片放映转换_Javascript_Css - Fatal编程技术网

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

我似乎无法让这个幻灯片与javascript一起工作。图像在第一个图像上正确地淡入淡出,但在第二个图像过渡时,它似乎立即跳到图像,而不是像前一个图像那样过渡

<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秒钟的时间来制作动画。

感谢您修复了问题解决了问题