日期:2014-05-16  浏览次数:20482 次

图片间隔时间更换问题
定义了001.jpg,002.jpg,003.jpg, 想要实现图片的更换刷新,但是工作不正常。 帮忙看看。

<!DOCTYPE HTML>
<html>
<head>
 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
 <title>WebCam</title>
 <link rel="stylesheet" type="text/css" href="c3.css" />

<script language="JavaScript">
<!-- -->
var k=0; //声明一个计数器变量
var imgname1="imgs/00"; //所有图片地址的前面相同的部分,要根据实际修改这个值。
var imgname2=".jpg"; //图片的文件格式,可根据实际情修改,前面那个小点不要漏了。
var imgnub=3; //要展示的图片的张数,根据实际修改此值。
function start()
{ //程序主体部分
obj=eval("img1"); //若图像标记的ID号改变,请修改括号中的字符串值。
if (obj.filters.item(0).Transition==23) // 这部分语句是用于改变切换样式,在23种样式中循环。
obj.filters.item(0).Transition=1;
else
obj.filters.item(0).transition++;
obj.filters.item(0).Apply();
if (k<imgnub) 
{
k++; //这部分语句用于改变图像标记的src的图片地址(既含路径的文件名)。
}
else 
{
k=1;
}
obj.src=imgname1+k+imgname2;
obj.filters.item(0).Play();
setTimeout("start(1)",3000); //每三秒钟刷新一次。
}

</script> 

</head>
<body>
<h1>Web Cam </h1>
<hr/>
<div id="header">
<img id="img1" src="imgs/001.jpg" width="800" height="600" style="filter:revealTrans(Transition=1,Duration=1.5)" > 
</div>
</body>
</html>

------解决方案--------------------
刷新一次!==== 吓了我一跳,明明是更换一次图片。filter:效果只有IE下可以,标准浏览器不能运行。
<img id="img1" src="img/1.jpg" width="200" height="200" style="filter:revealTrans(Transition=1,Duration=1.5)" >
<script type="text/javascript">
    var arr=["img/1.jpg","img/2.jpg","img/3.jpg"];//定义好图片,可多可少
    var img=document.getElementById("img1");
    var i=0;
    var isIE=!-[1,];//判断是否IE
    setInterval(function(){
        i++;
        if(i>=arr.length)i=0;
        if (isIE){
            if (img.filters.item(0).Transition==23)
                img.filters.item(0).Transition=1;
            else
                img.filters.item(0).transition++;
                img.filters.item(0).Apply();
                img.src=arr[i];
                img.filters.item(0).Play();
        }else{
            img.src=arr[i];
        }
    },3000)
</script>

------解决方案--------------------
http://awong1900.sinaapp.com/webcam/index.php 你没有查看源代码吗?全是乱码。