我的问题是一个代码逻辑问题,请大家帮我看看,谢谢!!
我写了一个简单的图片自动播放功能,代码在下面下面是html里的代码:
<html>
<head><title>this is javascript</title>
<script type="text/javascript" src="scripts/photoes.js"></script>
</head>
<body>
<h1>Photo</h1>
<ul>
<li><a href="" onclick="return ShowPic();">播放</a></li>
</ul>
<img id="photoes" src="image/4.jpg" />
</body>
</html>
下面是photoes.js外部文件里面的代码:
var i=0;
function ShowPic(){
Show();
return false;//为什么只return一次就可以了??这里不懂??
}
function Show(){
var img_x=new Array("image/1.jpg","image/2.jpg","image/3.jpg","image/4.jpg","image/5.jpg");
var photos=document.getElementById("photoes");
photos.setAttribute("src",img_x[i]);
i++;
if(i>4)i=0;
setTimeout("Show()",2000);
}
不懂的就是JS里的那段return false;我觉得只有递归循环第一次的时候有调用他;但是如果只调用一次,那为什么不会出现错误勒,因为如果onclick没有得到返回的false,那麽他的默认行为就会发生。就会在另一个窗口显示图片。