仓酷云

标题: ASP网页设计当层碰到了select框时 [打印本页]

作者: 谁可相欹    时间: 2015-1-16 23:10
标题: ASP网页设计当层碰到了select框时
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。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整站代码有什么优缺点,那个更好,更安全,更用容易维护,和管理。。。
作者: 金色的骷髅    时间: 2015-1-20 07:47
另外因为asp需要使用组件,所以了解一点组件的知识(ADODB也是组件)
作者: 再现理想    时间: 2015-1-22 09:25
我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
作者: 活着的死人    时间: 2015-1-30 13:16
如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。
作者: 第二个灵魂    时间: 2015-1-31 07:42
封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。
作者: 若天明    时间: 2015-2-6 18:28
多看多学多思。多看一些关于ASP的书籍,一方面可以扩展知识面一方面可以鉴借别人是如何掌握、运用ASP的;多学善于关注别人,向同学老师多多学习,不论知识的大小;多思则是要将学到的知识灵活运用。
作者: 深爱那片海    时间: 2015-2-18 02:44
从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了
作者: admin    时间: 2015-3-6 00:10
代码逻辑混乱,难于管理:由于ASP是脚本语言混合html编程,所以你很难看清代码的逻辑关系,并且随着程序的复杂性增加,使得代码的管理十分困难,甚至超出一个程序员所能达到的管理能力,从而造成出错或这样那样的问题。
作者: 爱飞    时间: 2015-3-20 00:31
完全不知道到底自己学的是什么。最后,除了教程里面说的几个例子,还是什么都不会。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2