关于下拉框的问题

samuel_yuan 2007-09-27 11:08:47
要求实现鼠标经过下拉列表框的每一个选项的时候,该选项的右边出现一个提示信息。
已经在firefox中实现,但是在ie中仍然不行,请大家帮忙看看该怎么改啊.谢谢!

<HTML>
<HEAD>
<TITLE>hello</TITLE>
<SCRIPT>

// Set browser-determined global variables
var NN = (document.layers ? true : false);
var hideName = (NN ? 'hide' : 'hidden');
var showName = (NN ? 'show' : 'visible');
var zIdx = -1;
function genLayer(sName, sLeft, sTop, sWdh, sHgt, sVis, content) {
if (NN) {
document.writeln('<LAYER NAME="' + sName + '" LEFT=' + sLeft + ' TOP=' + sTop +
' WIDTH=' + sWdh + ' HEIGHT=' + sHgt + ' VISIBILITY="' + sVis + '"' +
' z-Index=' + zIdx + '>' + content + '</LAYER>');
}
else {
document.writeln('<DIV ID="' + sName + '" STYLE="position:absolute; overflow:none; left:' +
sLeft + 'px; top:' + sTop + 'px; width:' + sWdh + 'px; height:' + sHgt + 'px;' +
' visibility:' + sVis + '; z-Index=' + (++zIdx) + '">' +
content + '</DIV>'
);
}
}

// Define a function to hide layers
function hideSlide(name) {
refSlide(name).visibility = hideName;
}

// Define a function to reveal layers
function showSlide(name) {
refSlide(name).visibility = showName;
}

// Define a central function to reference layers
function refSlide(name) {
if (NN) { return document.layers[name]; }
else { return eval('document.all.' + name + '.style'); }
}

function showDescritpion() {
hideDescritpions();
for (var i = 0; i < document.forms[0].myList.length; i++) {
if (document.forms[0].myList.options[i].selected == true) {
break;
}
}

showSlide('myLayer'+i);
}

function hideDescritpions() {

for (var i = 0; i < document.forms[0].myList.length; i++) {
hideSlide('myLayer'+i);

}
}



</SCRIPT>
</HEAD>
<BODY>
<form>

<select name="myList" onMouseMove="javascript: showDescritpion();" onMouseOut="javascript: hideDescritpions();" >
<option value=""></option>
<option value="option1">1</option>
<option value="option2">2</option>

</select>
<SCRIPT>
<!--

genLayer('myLayer0', 10, 75, 300, 300, hideName, "<BODY><BR><BR><CENTER><H3></H3></BODY>");
genLayer('myLayer1', 10, 75, 300, 300, hideName, "<BODY><BR><BR><CENTER><H3>description 1</H3></BODY>");
genLayer('myLayer2', 10, 75, 300, 300, hideName, "<BODY><BR><BR><CENTER><H3>description 2</H3></BODY>");

//-->
</SCRIPT>
</form>
</BODY>
</HTML>
...全文
109 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
for_cyan 2007-09-27
  • 打赏
  • 举报
回复
最好写在外面,否则作为字符串传递了
var oSel = document.getElementById("id");
oSel.onMouseMove = showDescritpion(event);
这样
for_cyan 2007-09-27
  • 打赏
  • 举报
回复
<select name="myList" onMouseMove="javascript: showDescritpion();" onMouseOut="javascript: hideDescritpions();" >
在hideDescritpions,showDescritpion函数中加一个参数
showDescritpion(event),hideDescritpions(event)
这个是window事件的全局变量,ff中是默认作为第一个参数传递的
samuel_yuan 2007-09-27
  • 打赏
  • 举报
回复
那样还是行不通的,在ie中得不到期望的效果。我上面的代码在firefox中是可行的,问题就是ie与firefox对js的差异。

61,112

社区成员

发帖
与我相关
我的任务
社区描述
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。
社区管理员
  • HTML(CSS)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧