高分求教一段关于层的代码

mihayi 2004-08-11 04:00:23
建立一个层,并在其中放入一个列表,该列表有500项,用循环写出
并且要求当点击页面其他部分的时候该层消失(简单使用hide会造成点击列表时层消失)
...全文
130 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mihayi 2004-08-15
  • 打赏
  • 举报
回复
ice_berg16(寻梦的稻草人) 的答案最符合我的要求,谢谢大家支持,我结贴了
michael_monkey 2004-08-12
  • 打赏
  • 举报
回复
其实更简单是用createPopup,今天才知道
wanghr100 2004-08-11
  • 打赏
  • 举报
回复
<span><select id="sel"></select></span>
<SCRIPT LANGUAGE="JavaScript">
function addOption() {
var s = document.getElementById("sel");
var html = s.parentNode.innerHTML.match(/(^<.*sel[^>]*>)/)[0];
var arr = [];
for(var i=0;i<500;i++) {
arr[arr.length] = '<option text="'+i+'">'+i+'</option>';
}
html += arr.join("") + "</select>";
s.parentNode.innerHTML = html;
}
addOption();
document.onclick=function()
{
e = window.event.srcElement;
if(e.id!="sel"){sel.style.display='none'}
}
</SCRIPT>
michael_monkey 2004-08-11
  • 打赏
  • 举报
回复
<html>
<head>
<script language="javascript">
function hideIt(){
if((window.event.srcElement.tagName.toString().toUpperCase()=="BODY")||(window.event.srcElement.tagName.toString().toUpperCase()=="HTML")){
document.all.layer1.style.display='none';
return false;
}
var lname="layer1";
if(window.event.srcElement.name.toString().toUpperCase()!=lname.toUpperCase()){
var pe;
while(true){
pe=event.srcElement.parentElement
if(pe.tagName.toString().toUpperCase()=="BODY"){
document.all.layer1.style.display='none'
break;
return false;
}else{
if(pe.name!=lname){
pe=pe.parentElement;
}else{
break;
return false;
}
}
}
}
}

function init(){
var tmpStr;
tmpStr=""
for(var i=1;i<=500;i++){
tmpStr=tmpStr+"<option value="+i+">"+i+"</option>"
}
tmpStr="<select>"+tmpStr+"</select>"
tmpStr="<div id='layer1' name='layer1' style='background-color:#999999;width:500px;height:400px'>"+tmpStr+"</div>"
document.body.insertAdjacentHTML("BeforeEnd",tmpStr)
}

</script>
</head>
<body onload="init()" onclick="hideIt()">
other content
</body>
</html>
ice_berg16 2004-08-11
  • 打赏
  • 举报
回复
<body>
<div id='ice'>
</div>
</body>
<SCRIPT LANGUAGE="JavaScript">
<!--
function createSelect()
{
var ice = document.all.ice;
var str = "<select name=t>"
for (i=0;i<500;i++)
{
str += "<option value="+i+">第"+i+"项</option>";
}
str += "</select>";
ice.innerHTML = str;
}
function document.onclick()
{
var ice = document.all.ice;
if (event.srcElement.parentElement == ice)
return;
else
ice.style.display = "none";
}
createSelect();
//-->
</SCRIPT>
mihayi 2004-08-11
  • 打赏
  • 举报
回复
呵呵,差得太多了,兄弟,这样我也会写啊

必须用循环写出来,而且你也没有加上点击页面消失的功能啊
prentice1001 2004-08-11
  • 打赏
  • 举报
回复
<html>
<head>

<script language="javascript">

</script>

</head>
<body onclick="div.style.display='none'">
<div id="div" >
<select MULTIPLE>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
<option>ddddddddddddddddddddddddddddd</option>
</script>
</select>
</div>
</body>
</html>

87,902

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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