|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。select当层碰到下拉框时老是挡不了select框?实在这是IE的BUG,别的的扫瞄器没有这个成绩,关于这个成绩论坛里很多提出,在这里供应我的几种办法,各有各的优点,有错,有好的定见者提出,感谢.
1.最间接的办法:埋没下拉框.
上面供应的是一个对照通用的一组函数:
test.htm
------------
<script>
varHideElementTemp=newArray();
//点击菜单时,挪用此的函数,菜单工具
functioncal_hideElementAll(obj){
cal_HideElement("IMG",obj);
cal_HideElement("SELECT",obj);
cal_HideElement("OBJECT",obj);
cal_HideElement("IFRAME",obj);
}
functioncal_HideElement(strElementTagName,obj){
try{
varshowDivElement=obj;
varcalendarDiv=obj;
varintDivLeft=cal_GetOffsetLeft(showDivElement);
varintDivTop=cal_GetOffsetTop(showDivElement);//+showDivElement.offsetHeight;
//HideElementTemp=newArray()
for(i=0;i<window.document.all.tags(strElementTagName).length;i++){
varobjTemp=window.document.all.tags(strElementTagName)[i];
if(!objTemp||!objTemp.offsetParent)
continue;
varintObjLeft=cal_GetOffsetLeft(objTemp);
varintObjTop=cal_GetOffsetTop(objTemp);
if(((intObjLeft+objTemp.clientWidth)>intDivLeft)&&
(intObjLeft<intDivLeft+calendarDiv.style.posWidth)&&
(intObjTop+objTemp.clientHeight>intDivTop)&&
(intObjTop<intDivTop+calendarDiv.style.posHeight)){
//varintTempIndex=HideElementTemp.length;//已有的长度
//saveelementTagNameisstutas
//HideElementTemp[intTempIndex]=newArray(objTemp,objTemp.style.visibility);
HideElementTemp[HideElementTemp.length]=objTemp
objTemp.style.visibility="hidden";
}
}
}catch(e){alert(e.message)
}
}
functioncal_ShowElement(){
vari;
for(i=0;i<HideElementTemp.length;i++){
varobjTemp=HideElementTemp[i]
if(!objTemp||!objTemp.offsetParent)
continue;
objTemp.style.visibility=
}
HideElementTemp=newArray();
}
functioncal_GetOffsetLeft(src){
varset=0;
if(src&&src.name!="divMain"){
if(src.offsetParent){
set+=src.offsetLeft+cal_GetOffsetLeft(src.offsetParent);
}
if(src.tagName.toUpperCase()!="BODY"){
varx=parseInt(src.scrollLeft,10);
if(!isNaN(x))
set-=x;
}
}
returnset;
}
functioncal_GetOffsetTop(src){
varset=0;
if(src&&src.name!="divMain"){
if(src.offsetParent){
set+=src.offsetTop+cal_GetOffsetTop(src.offsetParent);
}
if(src.tagName.toUpperCase()!="BODY"){
vary=parseInt(src.scrollTop,10);
if(!isNaN(y))
set-=y;
}
}
returnset;
}
</script>
<select></select>
<select></select>
<divstyle="position:absolute;left:0;top:0;width:100;height:100;background-color:red"onclick="cal_hideElementAll(this)">
点击让select埋没
</div>
<br><br><br><br><br><br>
<inputtype="button"value="点击让select显现"onclick="cal_ShowElement()">
以上这类办法,假如关于select框数量少,绝对流动的话,间接用obj.style.visibility="hidden"如许举行埋没是更间接的.
2.Object工具的优先度较高,能够盖住select框
<OBJECTid=aastyle="display:none;z-index:1000;position:absolute;top:0;left:0;width:152;height:200;"type="text/x-scriptlet"data="about:<body><divstyle=position:absolute;left:0;top:0;width:152;height:200;font:14;color:white;background:black;border:1solidblack>test</div>"></OBJECT>
<select><option>hellohellohellohello</select><buttononclick=aa.style.display=aa.style.display=="none"?"":"none">test</button>
这类办法固然也复杂,但对庞大的层是来讲还不是好的办理办法
3.用iframe作载体
以下是一复杂的例子:
-----------
<html>
<head>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<metaname="GENERATOR"content="MicrosoftFrontPage4.0">
<metaname="ProgId"content="FrontPage.Editor.Document">
<title>复杂菜单</title>
<!--
供应定位函数,用iframe作载体,不会被select盖住
ByFason(2003-5-21)
-->
<styleid=s>
#div1{
pos</p>我想详细了解ASP整站代码与PSP整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。 |
|