ASP网页编程之若何盖住html页面上的SELECT(下拉框)...
大家可以自己去看一看.可以说看得想呕吐.以前有次下了个动网来看.里面连基本内置函数的保护措施(函数没防御性)都没有.难怪经常补这个补那个了.可能现在.NET版会好点吧select|下拉|页面 下拉框,即html的SELECT元素,.net设计时的DropDownList,是html中的windowed element,特别ie6以后,几近是独一的windowed element(还有popup等大批少少用的的)。通俗的元素,textbox, div, table……这些,属于windowless element,它们之间相互粉饰的情形由z-index决意,在它们之上,是SELECT这些windowed element。所以普通情形下div、table等不克不及粉饰select。
这个成绩普遍存在于各类弹出式控件的利用当中,好比日历控件等。
假如要显示div,之前的做法是,静态的,在显示的时分,让div区域的select不成见,div消逝的时分,再恢复这些select元素。这类做法对照奇异,由于它严厉上并非“粉饰”了select,而是,让她全部消逝了,假如calendar弹出元素只是应当粉饰select元素的一局部,但select却全部不见,用户或许会感觉奇异;做起来也费事,要用js一一判别各select的地位。
ie5.5以后,有一个新的小技能,称之为“iframe shim”(iframe加塞:p),可以真实的“粉饰”select元素。
它使用了一种特别的元素:iframe。在ie5.5之前,iframe也是windowed element,但从5.5入手下手,iframe就是通俗的windowless element了,可是,固然是windowless element,iframe却可以盖住select。这类做法的道理就是:放一个iframe与你要显示的器材(好比说一个div)一样巨细、地位,并设置z-index使得iframe在此DIV之下;如许,iframe粉饰了select,同时,iframe又在要显示的div的上面,div就显露来了。
限制:仅合用于ie5.5及今后版本。
参考文章链接:
http://dotnetjunkies.com/WebLog/jking/archive/2003/07/21/488.aspx
示例法式代码:
//html.select.hack.iframe shim.htm
<html>
<head>
<script>
function DivSetVisible(state)
{
var DivRef = document.getElementById('PopupDiv');
var IfrRef = document.getElementById('DivShim');
if(state)
{
DivRef.style.display = "block";
IfrRef.style.width = DivRef.offsetWidth;
IfrRef.style.height = DivRef.offsetHeight;
IfrRef.style.top = DivRef.style.top;
IfrRef.style.left = DivRef.style.left;
IfrRef.style.zIndex = DivRef.style.zIndex - 1;
IfrRef.style.display = "block";
}
else
{
DivRef.style.display = "none";
IfrRef.style.display = "none";
}
}
</script>
</head>
<body background="http://www.orkut.com/img/i_blau2.gif">
<form>
<select>
<option>A Select Box is Born ....</option>
</select>
</form>
<div
id="PopupDiv"
style="position:absolute;font:italic normal bolder 12pt Arial; top:25px; left:50px; padding:4px; display:none; color:#ffff00; z-index:100">
.... and a DIV can cover it up<br>through the help of an IFRAME.
</div>
<iframe
id="DivShim"
src="javascript:false;"
scrolling="no"
frameborder="0"
style="position:absolute; top:0px; left:0px; display:none;filter=progid:DXImageTransform.Microsoft.Alpha(style=0,opacity=0);">
</iframe>
<br>
<br>
<a href="#" onclick="DivSetVisible(true)">Click to show DIV.</a>
<br>
<br>
<a href="#" onclick="DivSetVisible(false)">Click to hide DIV.</a>
</body>
</html>
</p>专业性的服务。有的ASP商提供垂直型的应用服务,针对某一特定行业提供应用服务。 先学习用frontpage熟悉html编辑然后学习asp和vbscript建议买书进行系统学习 从事这个行业,那么你可以学ASP语言,简单快速上手,熟练dreamweav排版,写asp代码,熟练photoshop处理图片,打好基础就行了 ASP.Net和ASP的最大区别在于编程思维的转换,而不仅仅在于功能的增强。ASP使用VBS/JS这样的脚本语言混合html来编程,而那些脚本语言属于弱类型、面向结构的编程语言,而非面向对象,这就明显产生以下几个问题: 不能只是将它停留在纸上谈兵的程度上。 最近在学asp,不要问我为什么不直接学.net,因为公司网站是asp做的所以有这个需要,卖了本书asp入门到精通,对里面的六大内置对象老是记不住,还有很多属性和方法看的头晕。 我想问如何掌握学习节奏(先学什么再学什么)最好详细点? 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。 如何更好的使自己的东西看上去很不错等等。其实这些都不是问题的实质,我们可以在实践中不断提升自己,不断充实自己。 用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。 我们必须明确一个大方向,不要只是停留在因为学而去学,我们应有方向应有目标. 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。 ASP也是这几种脚本语言中最简单易学的开发语言。但ASP也是这几种语言中唯一的一个不能很好支持跨平台的语言。 因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。 我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。 没有坚实的理论做基础,那么我们连踏入社会第一步的资本都没有,特别对于计算机专业的学生学好专业知识是置关重要的。在这里我侧重讲一下如何学习ASP,从平时的学习过程中。 Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件 他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。 Response:从字面上讲是“响应”,因此这个是服务端向客户端发送东西的,例如Response.Write 虽然ASP也有很多网络教程。但是这些都不系统。都是半路出家,只是从一个例子告诉你怎么用。不会深入讨论,更不会将没有出现在例子里的方法都一一列举出来。
页:
[1]