各位大侠好,我在作一个菜单,我用代码创建了两个div:smenu和menu2,smenu包含menu2,semnu的overflow属性设为hidden,这样即使menu2比较大也不会超过smenu的尺寸,但网页显示出来的效果是smenu被menu2顶大了,我用document.body.innerHTML属性查看,发现网页生成的html确实是嵌套的两个div,把这个html拷贝到新网页的body里,显示是正常的:smenu还保持原来的尺寸,我想问下各位大侠如何用代码解决这个问题?
javascript代码如下:
var bodyRef = document.getElementsByTagName("body").item(0);
var menu2 = document.createElement("div");
menu2.className="menu_div";
menu2.style.position="absolute";
menu2.style.width=200;
menu2.style.height=500;
menu2.style.top=10;
menu2.style.left=10;
menu2.style.backgroundColor="#000000"
bodyRef.appendChild(menu2);
var smenu = document.createElement("div");
smenu.style.height=200
smenu.style.width=200
smenu.style.overFlow="hidden"
smenu.style.backgroundColor="#00ff00"
smenu.style.position="";
smenu.style.zIndex=1
bodyRef.appendChild(smenu);
smenu.appendChild(menu2);
用document.body.innerHTML查看html,确实是<div><div>...</div></div>,如果我把smenu直接用网页里的<div></div>代替,也不会出现这样的现象了,这个问题困扰我好几天了,哪位高手能指点一下,这里谢谢了
createElement之后,得到的是一个单独的对象引用,只能操作一次,你第一次把它列为bodyRef的children里面,它就己经给定下来了,不能再去把自己加给自己...
呵呵,非常简单!!!
把smenu.style.overFlow="hidden"
改为:
smenu.style.overflow="hidden"