2014-09-20 33 views
0

我如何在我的JavaScript幻灯片中淡入我的图片,我使用了我在教程中找到的这段代码,任何帮助表示赞赏。 http://jsfiddle.net/cuga9mbe/1/用我的javascript幻灯片淡入我的图片

<script type="text/javascript"> 
    var step=1 
    function slideit() { 
     document.images.slide.src=eval("image"+step+".src") 
     if(step<3) 
     step++ 
     else 
     step=1 
     setTimeout("slideit()",2500) 
    } 
    slideit() 
    </script> 
+2

庵。你能创造一个小提琴什么的吗?另外,'setTimeout(“slideit()”,2500)'没有任何意义。您不能将字符串传递给setTimeout的第一个参数。你应该通过这个功能。 'setTimeout(slideit,2500)'**注意没有任何paranthesis。** – Menixator 2014-09-20 14:54:15

+0

http://jsfiddle.net/cuga9mbe/1/ @Menixator – Andreas 2014-09-20 15:01:30

+0

@Matanya好的,谢谢,我会检查出som jQuery幻灯片。无论如何感谢 – Andreas 2014-09-20 15:14:38

回答

1

此代码本身不适合于使用任何过渡效果,因为它改变其瞬间发生图像本身的src属性。如果你想淡入淡出的过渡,你应该使用绝对定位将图像堆叠在一起,然后淡入淡入淡出。建议使用jquery,它已经具有内置的转换功能,例如fadeInfadeOut

此外,而不是递归地调用setTimeout,您应该使用setInterval

工作小提琴:

http://jsfiddle.net/cuga9mbe/9/

+0

http://jsfiddle.net/cuga9mbe/7/ - 修正了从最后一个图像到第一个图像的过渡,并删除了硬编码的长度。 – Rhumborl 2014-09-20 15:40:53

+0

谢谢,我自己修复了它。我相信'fadeOut'可以简单地在所有图像上完成。无需计算可见的一个。或者,可以使用':visible'过滤器。 – Matanya 2014-09-20 15:56:34