您好,欢迎访问三七文档
界面打开新窗口进行数据互相调用1.Window.open()方法参数详解1,最基本的弹出窗口代码window.open('page.html');2,经过设置后的弹出窗口window.open('page.html','newwindow','height=100,width=400,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no')//该句写成一行代码参数解释:window.open弹出新窗口的命令;'page.html'弹出窗口的文件名;'newwindow'弹出窗口的名字(不是文件名),非必须,可用空''代替;height=100窗口高度;width=400窗口宽度;top=0窗口距离屏幕上方的象素值;left=0窗口距离屏幕左侧的象素值;toolbar=no是否显示工具栏,yes为显示;menubar,scrollbars表示菜单栏和滚动栏。resizable=no是否允许改变窗口大小,yes为允许;location=no是否显示地址栏,yes为允许;status=no是否显示状态栏内的信息(通常是文件已经打开),yes为允许;3,用函数控制弹出窗口下面是一段完整的代码htmlheadscriptLANGUAGE=JavaScript!--functionopenwin(){window.open(page.html,newwindow,height=100,width=400,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no)//写成一行}//--/script/headbodyonload=openwin()任意的页面内容.../body/html解释:这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢?方法一:bodyonload=openwin()浏览器读页面时弹出窗口;方法二:bodyonunload=openwin()浏览器离开页面时弹出窗口;方法三:用一个连接调用:ahref=#onclick=openwin()打开一个窗口/a注意:使用的#是虚连接。方法四:用一个按扭调用:inputtype=buttononclick=openwin()value=打开窗口/4,弹出两个窗口对代码稍微改动如下:scriptLANGUAGE=JavaScript!--functionopenwin(){window.open(page.html,newwindow,height=100,width=100,top=0,left=0,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no)//写成一行window.open(page2.html,newwindow2,height=100,width=100,top=100,left=100,toolbar=no,menubar=no,scrollbars=no,resizable=no,location=no,status=no)//写成一行}//--/script为避免弹出的2个窗口覆盖,用top和left控制一下弹出的位置不要相互覆盖即可。最后用上面的说过的四种方法调用即可。注意:2个窗口的name(newwindow与newwindow2)不要相同,或者干脆全部为空。5,主窗口打开文件1.htm,同时弹出小窗口page.html如下代码加入主窗口head区:functionopenwin(){window.open(page.html,,width=200,height=200)}加入body区:ahref=1.htmonclick=openwin()open/a即可。6,弹出的窗口之定时关闭控制将一小段代码加入弹出的页面(注意是加入page.html的HTML中,可不是主页面中,否则......),让它在10秒后自动关闭是不是更酷了?functioncloseit(){setTimeout(selft.close(),10000)//毫秒}然后,在body中添加:bodyonload=closeit()即可。7,在弹出窗口中加上一个关闭按扭inputtype=buttonvalue=关闭onclick=window.close()8,内包含的弹出窗口---一个页面两个窗口上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。通过下面的例子,你可以在一个页面内完成上面的效果。1.htmlheadSCRIPTLANGUAGE=JavaScriptfunctionopenwin(){OpenWindow=window.open(,newwin,height=250,width=250,toolbar=no,scrollbars=+scroll+,menubar=no);//写成一行OpenWindow.document.write(TITLE例子/TITLE)OpenWindow.document.write(BODYBGCOLOR=#ffffff)OpenWindow.document.write(h1Hello!/h1)OpenWindow.document.write(Newwindowopened!)OpenWindow.document.write(/BODY)OpenWindow.document.write(/HTML)OpenWindow.document.close()}/SCRIPT/headbodyahref=#onclick=openwin()打开一个窗口/ainputtype=buttononclick=openwin()value=打开窗口/body/htmlOpenWindow.document.write()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签就会出现错误。记得用OpenWindow.document.close()结束啊。9,终极应用---弹出的窗口这Cookie控制回想一下,上面的弹出窗口虽然酷,但是有一点小毛病,比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?有解决的办法吗?我们使用cookie来控制即可。首先,将如下代码加入主页面的Html的head区:functionopenwin(){window.open(page.html,,width=200,height=200)}functionget_cookie(Name){varsearch=Name+=;varreturnvalue=;if(document.cookie.length0){if(offset!=-1){offset+=search.lengthend=document.cookie.indexOf(;,offset);if(end==-1)end=document.cookie.length;returnvalue=unescape(document.cookie.substring(offset,end));}}returnreturnvalue;}functionladpopup(){if(get_cookie('popped=yes')){openwin()document.cookie=popped=yes;}}最后,用bodyonload=loadpopup()position的四个属性值:relative,absolute,fixed,static1.relativerelative属性相对比较简单,我们要搞清它是相对哪个对象来进行偏移的。答案是它本身的位置。在上面的代码中,sub1和sub2是同级关系,如果设定sub1一个relative属性,比如设置如下CSS代码:#sub1{position:relative;padding:5px;top:5px;left:5px;}我们可以这样理解,如果不设置relative属性,sub1的位置按照正常的文档流,它应该处于某个位置。但当设置sub1为的position为relative后,将根据top,right,bottom,left的值按照它理应所在的位置进行偏移,relative的“相对的”意思也正体现于此。对于此,只需要记住,sub1如果不设置relative时它应该在哪里,一旦设置后就按照它理应在的位置进行偏移。随后的问题是,sub2的位置又在哪里呢?答案是它原来在哪里,现在就在哪里,它的位置不会因为sub1增加了position的属性而发生改变。如果此时把sub2的position也设置为relative,会发生什么现象?此时依然和sub1一样,按照它原来应有的位置进行偏移。注意relative的偏移是基于对象的margin的左上侧的。2.absolute这个属性总是有人给出误导。说当position属性设为absolute后,总是按照浏览器窗口来进行定位的,这其实是错误的。实际上,这是fixed属性的特点。当sub1的position设置为absolute后,其到底以谁为对象进行偏移呢?这里分为两种情况:(1)当sub1的父对象parent也设置了position属性,且position的属性值为absolute或者relative时,也就是说,不是默认值的情况,此时sub1按照这个parent来进行定位。注意,对象虽然确定好了,但有些细节需要您的注意,那就是我们到底以parent的哪个定位点来进行定位呢?如果parent设定了margin,border,padding等属性,那么这个定位点将忽略padding,将会从padding开始的地方(即只从padding的左上角开始)进行定位,这与我们会想当然的以为会以margin的左上端开始定位的想法是不同的。接下来的问题是,sub2的位置到哪里去了呢由于当position设置为absolute后,会导致sub1溢出正常的文档流,就像它不属于parent一样,它漂浮了起来,在DreamWeaver中把它称为“层”,其实意思是一样的。此时sub2将获得sub1的位置,它的文档流不再基于sub1,而是直接从parent开始。(2)如果sub1不存在一个有着position属性的父对象,那么那就会以body为定位对象,按照浏览器的窗口进行定位,这个比较容易理解。**********************3.fixedfixed是特殊的absolute,即fixed总是以body为定位对象的,按照浏览器的窗口进行定位。4.staticposition的默认值,一般不设置position属性时,会按照正常的文档流进行排列。【*Z-index只能工作在被明确定义了absolute,fixed或relative这三个定位属性的元素*】Root-z-index值为默认auto,即0DIV#2-z-index值为2DIV#3-z-index值为4DIV#5-z-index值为1,其父元素z-index值4,所以最终值为4.1DIV#6-z-index值为3,其父元素z-index值4,所以最终值为4.3DIV#4-z-index值为6,其父元素z-index值4,所以最终值为4.6DIV#1-z-index值为5$(function(){$(.b).height()$(.a).height()?$(.b).height('auto'):$(.b).css('overflow-y','scroll
本文标题:学习笔记文档
链接地址:https://www.777doc.com/doc-2487535 .html