哪位js大虾帮我看看为什么这个不行?

来源:百度知道 编辑:UC知道 时间:2024/05/22 08:48:16
为什么在alert那里,i出来的就是5,我的要求是从0-4,该怎么办?
就是鼠标移上去时就显示另一张图片的效果。谢谢
<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导航页</title>
<link rel="stylesheet" type="text/css" href="/css/nav.css">
</head>

<body onload="t()">
<div id="NavTop">
<ul>
<li><a href="#"><img src="/image/nav1.gif" /></a></li>
<li><a href=&qu

因为function里面的语名要在调用的时候才能执行。故当触发事件时,变量i已是5了。
我用的这种方法可能繁琐了一点,但可以正常显示你所要的效果:

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>导航页</title>
<link rel="stylesheet" type="text/css" href="/css/nav.css">
</head>
<body>
<div id="NavTop">
<ul>
<script>
var total=5;
for (var i=1;i<=total;i++){
document.write("<li><a href=\"#\"><img i="+i+" src=\"\/image\/nav"+i+".gif\" \/ onmouseover=\"over(this)\" onmouseout=\"out(this)\" onclick=\"cl(this)\"><\/a><\/li>");
}
function over(e){
//alert(e.src);
var cc="