设置了一个div得z-index,希望它总在顶端,可是它下面的一个<select>破土而出,怎么办,急求解决办法? 请问是在层里加入framset吗?那样会极大的加大复杂度吧? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 呵呵,select有特殊性,是强制置顶的东东,不受zindex管理 可以考虑在置顶DIV出现时暂时关闭select显示,或者用其它东东代替select 老问题了,在网页里面加上这一段也许可以解决:<SCRIPT LANGUAGE="JavaScript" defer><!--var elms = document.getElementsByTagName("select");for (var i=0;i<elms.length;i++) if (elms[i].type=="select-one") cover(elms[i]);function cover(s){ s.style.display="none"; s.onmouseout = hideSelect; s.onblur = hideSelect; s.onchange = resetSelectValue; var t = document.createElement("input"); t.style.width = s.style.width; t.value = s.options[s.selectedIndex].text; t.onmouseover = showSelect document.body.insertBefore(t,s)}function showSelect(){ var e = event.srcElement; e.style.display="none"; e.nextSibling.style.display="inline";}function hideSelect(){ var e = event.srcElement; e.style.display="none"; e.previousSibling.style.display="inline"; e.blur();}function resetSelectValue(){ var e = event.srcElement; e.previousSibling.value = e.options[e.selectedIndex].text e.blur();}//--></SCRIPT> 考虑到select上原来可能已经定义了onchange事件,上面的代码改为:<SCRIPT LANGUAGE="JavaScript" defer><!--var elms = document.getElementsByTagName("select");for (var i=0;i<elms.length;i++) if (elms[i].type=="select-one") cover(elms[i]);function cover(s){ s.onmouseout = hideSelect; s.onblur = hideSelect; if (s.onchange==null) s.onchange = resetSelectValue; else{ s.doOnchange = s.onchange; s.onchange = function(){this.doOnchange();resetSelectValue()} } var t = document.createElement("input"); t.style.width = s.offsetWidth; t.value = s.options[s.selectedIndex].text; t.onmouseover = showSelect document.body.insertBefore(t,s) s.style.display="none";}function showSelect(){ var e = event.srcElement; e.style.display="none"; e.nextSibling.style.display="inline";}function hideSelect(){ var e = event.srcElement; e.style.display="none"; e.previousSibling.style.display="inline"; e.blur();}function resetSelectValue(){ var e = event.srcElement; e.previousSibling.value = e.options[e.selectedIndex].text e.blur();}//--></SCRIPT> 谢谢各位高手,看来是只能再显示div的同时隐藏select了,谁让他们水火不容。真的不能通过设置他们的某个属性来解决么?^_^,那样多轻松啊。 个人之见,以资参考:http://jkisjk.vip.sina.com/html/DivBeforeSelect.htm “虽说div直接盖不住select但是div可以盖iframe,而iframe可以盖select,所以,把一个iframe来当作div的底,这个div就可以盖住select了.”把一个iframe来当作div的底,怎么做?我是爱问的菜鸟 鼠标在select上的div上移进移出,就可以看到效果查看源文件就可以看到代码。 其实并不是div跟select有什么水火不容的,在firefox下面就没有问题:<div style="background-color:yellow;width:300;height:300;top:0;left:0;position:absolute;z-index:1"></div><select style="top:150;left:100;position:absolute;z-index:2"><option>test<option>test<option>test</select><select style="top:100;left:100;position:absolute;z-index:0"><option>test<option>test<option>test</select>其实根本就是IE对select框的处理有问题,可是bug被报告这么多年了,M$显然一点都不在乎别人骂他霸道。 各位我怎么用脚本设置一个对象的Z-index呢?我用了如下:div.style.z-index=0;结果报错,认为是z减去index了,我该怎么设置呢?? 这个只是IE的问题,也可以说是IE的BUG,以前网上提及过很多次,很多人也用iframe做!iframe长度宽度及显示位置和Div的一样就可以了 也碰到这样的问题,不知怎么解决[email protected] 我不知道你说的加入iframe 怎么用啊 很费解 我昨天找了好长时间都没解决 用iframe 吧 因为只有IE6才有这情况 所以可以<!--[if IE 6]><iframe>.....</iframe><![endif]--> 这样其他浏览器就不用执行http://blog.csdn.net/bennman/archive/2010/05/24/5619991.aspx 在JS中,var book1 = {};和var book2 = new Object();有什么差别? 屏蔽右键的老问题 JS对层的处理 求jCarousel多行滚动图片 请教: dtree源代码中的函数是怎样被调用的 href内调用javascript问题 站内搜索三问,答不出来,给出思路也给分,第一个答案对我有启示的给90分! 求:强制显示一定大小文字的代码 JS能不能检测到本地是否连有打印机 为什么组合继承不会相互影响实例? 一个99%用JavaSript编写的BBS 请教如何用javascript取QueryString的值
<!--
var elms = document.getElementsByTagName("select");
for (var i=0;i<elms.length;i++)
if (elms[i].type=="select-one") cover(elms[i]);function cover(s){
s.style.display="none";
s.onmouseout = hideSelect;
s.onblur = hideSelect;
s.onchange = resetSelectValue;
var t = document.createElement("input");
t.style.width = s.style.width;
t.value = s.options[s.selectedIndex].text;
t.onmouseover = showSelect
document.body.insertBefore(t,s)
}
function showSelect(){
var e = event.srcElement;
e.style.display="none";
e.nextSibling.style.display="inline";
}
function hideSelect(){
var e = event.srcElement;
e.style.display="none";
e.previousSibling.style.display="inline";
e.blur();
}
function resetSelectValue(){
var e = event.srcElement;
e.previousSibling.value = e.options[e.selectedIndex].text
e.blur();
}
//-->
</SCRIPT>
<!--
var elms = document.getElementsByTagName("select");
for (var i=0;i<elms.length;i++)
if (elms[i].type=="select-one") cover(elms[i]);function cover(s){
s.onmouseout = hideSelect;
s.onblur = hideSelect;
if (s.onchange==null)
s.onchange = resetSelectValue;
else{
s.doOnchange = s.onchange;
s.onchange = function(){this.doOnchange();resetSelectValue()}
}
var t = document.createElement("input");
t.style.width = s.offsetWidth;
t.value = s.options[s.selectedIndex].text;
t.onmouseover = showSelect
document.body.insertBefore(t,s)
s.style.display="none";
}
function showSelect(){
var e = event.srcElement;
e.style.display="none";
e.nextSibling.style.display="inline";
}
function hideSelect(){
var e = event.srcElement;
e.style.display="none";
e.previousSibling.style.display="inline";
e.blur();
}
function resetSelectValue(){
var e = event.srcElement;
e.previousSibling.value = e.options[e.selectedIndex].text
e.blur();
}
//-->
</SCRIPT>
http://jkisjk.vip.sina.com/html/DivBeforeSelect.htm
但是div可以盖iframe,而iframe可以盖select,
所以,把一个iframe来当作div的底,
这个div就可以盖住select了.
”把一个iframe来当作div的底,怎么做?我是爱问的菜鸟
鼠标在select上的div上移进移出,就可以看到效果
查看源文件就可以看到代码。
<select style="top:150;left:100;position:absolute;z-index:2">
<option>test<option>test<option>test
</select>
<select style="top:100;left:100;position:absolute;z-index:0">
<option>test<option>test<option>test
</select>其实根本就是IE对select框的处理有问题,可是bug被报告这么多年了,M$显然一点都不在乎别人骂他霸道。
我用了如下:
div.style.z-index=0;
结果报错,认为是z减去index了,我该怎么设置呢??
iframe长度宽度及显示位置和Div的一样就可以了
[email protected]