关于JAVASCRIPT延迟的问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 13:55:40
我想做个页面,上面有几个图片,当鼠标放到一张图片上时,其他几张再陆续显示出来,延迟用JAVASCRIPT做,我用的是setTimeout()方法,可是就是实现不了延迟,以下面的方法,这些图片还是一次都显示出来了,不知道问题出在什么地方
function showPic(picName)
{
var pic = document.getElementsByName(picName);
for(var i=0; i<pic.length;i++)
{
setTimeout(pic[i].className = "showPic",1000);
}
}

setTimeout(字符串,时间);
setTimeout第一个参数应该是一个字符串。
setTimeout(pic[i].className = "showPic",1000); 应该改为
setTimeout("pic["+i+"].className='showPic'",1000);
这样虽然可以实现延迟,但是其它的还会是一次全部显示出来。你不能将setTimeout放在for循环里面使用。放在for循环里面不能实现你说的那种效果。
复制下面代码运行一下,你就知道应该要怎么改了:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Untitled</title>
<style type="text/css">
li.on{
color:red;
}
</style>
<script type="text/javascript">
var pic;
window.onload=showPic;

fun