Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/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 在html中旋转图像_Javascript_Image_Slideshow - Fatal编程技术网

Javascript 在html中旋转图像

Javascript 在html中旋转图像,javascript,image,slideshow,Javascript,Image,Slideshow,大家好,我正在尝试让这些图像在HTML中每5秒旋转一次,使用javascript。我不明白为什么图像不旋转,如果有人能帮助我,那就太好了!!多谢各位 <!DOCTYPE html> <html> <head> <title>Concert Ads</title> <script type="text/javascript"> var image1=new Image() image1.src="concert1.gi

大家好,我正在尝试让这些图像在HTML中每5秒旋转一次,使用javascript。我不明白为什么图像不旋转,如果有人能帮助我,那就太好了!!多谢各位

<!DOCTYPE html>
<html>

<head>

<title>Concert Ads</title>

<script type="text/javascript">

var image1=new Image()
image1.src="concert1.gif"

var image2=new Image()
image2.src="concert2.gif"

var image3=new Image()
image3.src="concert3.gif"

var image4=new Image()
image4.src="concert4.gif"

var image5=new Image()
image5.src="concert5.gif"


</script>

</head>

<body>

<img src="concert1.gif" name="slide" >

<script type="text/javascript">


var step=1
function slideit() { 
document.images.slide.src=eval("image"+step+".src")

if(step<5)

step++

else

step=1

setTimeout("slideit()",5000)

slideit()

</script>

</body>


</html>

音乐会广告
var image1=新图像()
image1.src=“concert1.gif”
var image2=新图像()
image2.src=“concert2.gif”
var image3=新图像()
image3.src=“concert3.gif”
var image4=新图像()
image4.src=“concert4.gif”
var image5=新图像()
image5.src=“concert5.gif”
var阶跃=1
函数slideit(){
document.images.slide.src=eval(“image”+step+“.src”)

如果(步骤你的setTimeout函数不正确,因为你传递的是一个字符串,而不是一个函数,并且你没有关闭你的函数。每次创建一个新的图像项也是非常低效的;数组会更适合你。最后,我想你应该使用setInterval而不是setTimeout

下面是一个工作示例:

显然,这些图像不起作用,但是,如果您查看控制台,它工作正常

var image = document.getElementById("img1");
var src = ["concert2.gif","concert3.gif","concert4.gif","concert5.gif","concert1.gif"];

var step=0
    function slideit() { 
        image.src = src[step];
        image.alt = src[step];
        if(step<4) {
            step++;
        } else {
            step=0;
        }
    }        
    setInterval(slideit,5000);
var image=document.getElementById(“img1”);
var src=[“concert2.gif”、“concert3.gif”、“concert4.gif”、“concert5.gif”、“concert1.gif”];
var步长=0
函数slideit(){
image.src=src[step];
image.alt=src[step];
如果(步骤<代码>
试验
var image1=新图像()
image1.src=“dummyImg1.jpg”
var image2=新图像()
image2.src=“dummyImg2.jpg”
var image3=新图像()
image3.src=“dummyImg3.png”
var阶跃=1
函数slideit(){
document.images[“slide”].src=eval(“image”+step+“.src”)
如果(步骤<3)
台阶++
其他的
步骤=1
setTimeout(“slideit()”,5000)
}
slideit()

设置超时(slideit,5000)
没问题我只是在示例中做了一个小特威克来解决索引问题,如果它解决了您的问题,请不要忘记标记为已回答,祝您好运。@Dominic Green亲爱的Dominic,请注意向setTimeout函数传递字符串不是错误的,这是一种替代方法。使用setInterval而不是setTimeout可能会导致错误如果某些长时间运行的JavaScript延迟页面执行,则会导致问题。使用setTimeout可以保证延迟时间超过5000ms也不会引起混淆。为什么要进行此向下投票?这是一个正在运行的演示(Firefox 24.0/Linux).投了否决票,因为你没有给出解释,只是粘贴代码并不能帮助任何人重新确定存在的问题。此外,你设置的TIMOUT在你的函数中,因此会立即循环3次,并且无法引用slideit。请参阅@Dominic Green:你写道“仅粘贴代码并不能帮助任何人重新确定存在的问题”。我不确定我是否理解你的意思,因为leo.org(我不是英语母语人士)不知道“relaise”的任何翻译。至少询问者user2863675评论说“谢谢你的帮助!”。因此,你的“对任何人都没有帮助”肯定是错的,尤其是user2863675的评论是在你之前发布的。@Dominic Green(续):此外,您还写了“您的setTimout也在您的函数中,因此将立即循环3次,并且无法引用slideit。”。如果您在理解该句的含义时遇到问题(甚至忽略您的错误英语)。不,函数“slideit”中没有“循环”(正如我所指出的),它只是对“自身”的调用5s后,根据需要触发循环。是的,在函数第一次调用“slideit”之后有一个关于“slideit”的引用。@Dominic Green(续):所以,你的批评者在第一部分是不正确的,在第二部分是不合理的或完全错误的。总之,我看不出你投反对票的任何合理理由。
<!DOCTYPE html>
<html>
<head>
    <title>Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <script type="text/javascript">
        var image1 = new Image()
        image1.src = "dummyImg1.jpg"

        var image2 = new Image()
        image2.src = "dummyImg2.jpg"

        var image3 = new Image()
        image3.src = "dummyImg3.png"
    </script>
</head>
<body>
    <img src="dummyImg1.jpg" name="slide" >
    <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()", 5000)
        }
        slideit()
    </script>
</body>
</html>