js中 getElementById中的L不能大写
...
else if(whichlink=="email")desc="Send us a message";
d=document.getElementById("description");
d.innerHTML=desc;
....
html中p的id少引号
<p id="description"></p>
...
else if(whichlink=="email")desc="Send us a message";
d=document.getElementById("description");
d.innerHTML=desc;
....
html中p的id少引号
<p id="description"></p>
看介绍说是javascript的闭包问题.
按照以下的寫法再略微修改就可以了.<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title> 哈哈哈哈 </title> </head>
<body>
<h1> Event Test </h1> <ul>
<li> <a href="#" id="order"> Order Form </a>
<li> <a href="#" id="email"> Email </a>
</ul>
<p id="description"> </p> <script language="javascript" type="text/javascript">
function hover(id)
{
var whichlink="";
whichlink = id;
var desc = "";
if(whichlink=="order")desc="Order a product";
else if(whichlink=="email")desc="Send us a message";
var d=document.getElementById("description");
d.innerHTML=desc;
} function cleardesc()
{
var d=document.getElementById("description");
d.innerHTML="";
} var hoverFunction = function(id){return function(){hover(id);}}var orderlink=document.getElementById("order");
orderlink.onmouseover=hoverFunction("order");
orderlink.onmouseout=cleardesc;var emaillink=document.getElementById("email");
emaillink.onmouseover=hoverFunction("email");
emaillink.onmouseout=cleardesc; </script> </body> </html>
"這里主要牽涉到一個關于attachEvent或是注冊事件如何傳function參數的問題. "