弹出窗口其实代码非常简单:
<SCRIPT language=javascript type=text/javascript><!- window.open ('page.html') -></SCRIPT>
因为这是一段javascript代码,所以它们应该放在<SCRIPT LANGUAGE =”javascript”>标签和</script>之间。<!–和–>是对一些版本低的浏览器起作用,在这些老浏览器中如果不支持javascript,不会将标签中的代码作为文本显示出来。
Window.open (‘page.html’)用于控制弹出新的窗口page.html,如果page.html不与主窗口在同一路径下,前面应写明路径,绝对路径(http://)和相对路径(../)均可。
用单引号和双引号都可以,只是不要混用。
这一段代码可以加入HTML的任意位置,加入到<head>和</head>之间也可以,位置越靠前执行越早,尤其是页面代码较长时,又想使页面早点弹出就尽量往前放。
【经过设置后的弹出窗口】
下面再说一说弹出窗口外观的设置。只要再往上面的代码中加一点东西就可以了。
我们来定制这个弹出窗口的外观、尺寸大小、弹出位置以适应该页面的具体情况。
<SCRIPT LANGUAGE="javascript"> 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’)//写成一行 </SCRIPT>
参数解释:
<SCRIPT LANGUAGE=”javascript”> js脚本开始; window.open 弹出新窗口的命令; page.html 弹出新窗口的文件名; newwindow 弹出窗口的名字(不是文件名),可用空 ″代替; height=100 窗口高度; top=0 窗口距离屏幕上方的像素值; left=0 窗口距离屏幕左侧的像素值; toolbar=no 是否显示工具栏,yes为显示; menubar,scrollbars 表示菜单栏和滚动栏; resizable=no 是否允许改变窗口大小,yes为允许; location=no 是否显示地址栏,yes为允许; status=no 是否显示状态栏内的信息(通常是文件已经打开),yes为允许; </SCRIPT> js脚本结束。
【用函数控制弹出窗口】
下面是一个完整的代码。
<html> <head> <script LANGUAGE=”javascript”> <!– function openwin(){ window.open(“page.html”,”newwindow”,”height=100,width=400,toolbar=no,menubar=no,scrollbars=no,resizable=no, location=no,status=no”)//写成一行 } –> </script> </head> <body onload=”openwin()”> …任意的页面内容… </body> </html>
这里定义了一个函数openwin(),函数内容就是打开一个窗口。在调用它之前没有任何用途。怎么调用呢?
方法一:<body onload=”openwen()”> 浏览器读页面时弹出窗口;
方法二:<body onunload=”openwen()”> 浏览器离开页面时弹出窗口;
方法三:用一个连接调用:<a href=”#” onclick=”openwin()”>打开一个窗口</a>
注意:使用的”#”是虚连接。方法四:用一个按钮调用:<input type=”button” onclick=”openwin()” value=”打开窗口”>
【主窗口打开文件1.htm,同时弹出小窗口page.html】
将如下代码加入主窗口<head>区:
<script language=”javascript”> <!– function openwin(){ window.open(“page.html”,”",”width=200,height=200″) } //–> </script>
加入<body>区的代码:
<a href=”1.htm” onclick=”openwin()”>open</a>即可。
【弹出的窗口之定时关闭控制】
下面我们再对弹出窗口进行一些控制,效果就更好了。如果我们再将一小段代码加入弹出的页面(注意是加入到page.html的HTML中,可不是主页面中,否则…),让它在10秒钟后自动关闭是不是更酷了?
首先,将如下代码加入page.html文件的<head>区:
<script language=”javascript”> function closeit() { setTimeout(“self.close()”,10000) //毫秒 } </script>
然后,再用<body onload=”closeit()”>这一句话代替page.html中原有的<BODY>这一句就可以了。(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码,10秒钟后就自行关闭该窗口。)
【在弹出窗口中加上一个关闭按钮】
<FORM> <INPUT TYPE=’BUTTON’ VALUE=’关闭’ onClick=’window.close()’> </form>
呵呵,现在更加完美了!
【内包含的弹出窗口——一个页面两个窗口】
上面的例子都包含两个窗口,一个是主窗口,另一个是弹出的小窗口。
通过下面的例子,你可以在一个页面内完成上面的效果。
<html> <head> <SCRIPT LANGUAGE=”javascript”> function openwin() { OpenWindow=window.open(“”,”newwin”,”height=250,width=250,toolbar=no,scrollbars=”+scroll+”,menubar=no”);//写成一行 OpenWindow.document.write(“<TITLE>例子</TITLE>”) OpenWindow.document.write(“<BODY BGCOLOR=#FFFFFF>”) OpenWindow.document.write(“<H1>Hello!</h1>”) OpenWindow.document.write(“New window opened!”) OpenWindow.document.write(“</BODY >”) OpenWindow.document.write(“</HTML>”) OpenWindow.document.close() }; </script> </head> <body> <a href=”#” onclick=”openwin()”>打开一个窗口</a> <input type=”button” onclick=”openwin()” value=”打开窗口”> </body> </html>
看看OpenWindow.document.write()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可。千万注意多一个标签或少一个标签都会出现错误。记住用OpenWindow.document.close()结束啊。
【终极应用——弹出窗口的Cookie控制】
回想一下,上面的弹出窗口虽然酷,但是有一点小毛病(你沉浸在喜悦之中,一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页),那么每次刷新这个页面,窗口都会弹出一次,是不是非常烦人?有解决的办法吗?Yes!Follow me。我们使用Cookie来控制一下就可以了。
首先,将如下代码加入主页面HTML的<HEAD>区:
<script> function openwin(){ window.open(“page.html”,”",”width=200,height=200″) } function get_cookie(Name){ var search = Name+ "=" var returnvalue =""; if (documents.cookie.length >0){ offset = documents.cookie.indexOf(search) if (offset!=-1){ offset += search.length end = documents.cookie.indexOf (“;”,offset); if (end ==-1) end = documents.cookie.length; returnvalue =unescape(documents.cookie.substring(offset,end)) } } return returnvalue; } function loadpopup(){ if (get_cookie(‘popped’)==”){ openwin() documents.cookie=”popped=yes” } } </script>
然后,用<body onload=”loadpopup()”>(注意不是openwin 而是loadpop啊)替换主页面中原有的<BODY>这一句即可。你可以试着刷新一下这个页面或重新进入该页面,窗口再也不会弹出了。真正的Pop-Only-Once!
写到这里,弹出窗口的制作和应用技巧基本上算是讲完了,希望对正在制作网页的朋友有所帮助我就非常欣慰了。
需要注意的是,JS脚本中的大小写最好前后保持一致。
a 关闭跳出窗口代码:
<script language=”javascript”> <!– var exit=true; function ext() { if (exit) window.open (‘http://ituibar.com’); } //–> </script> <body onunload=”exit()”>
b 禁止另存代码;
<NOSCRIPT><IFRAME SRC=*.html></IFRAME></NOSCRIPT>
c 最大化窗口
<script language=”javascript”> self.moveTo(0,0) self.resizeTo(screen.availWidth,screen.availHeight) </script>
d 帧页
<IFRAME SRC=”guanggao/weiduomei.htm” WIDTH=”0″ HEIGHT=”0″ MARGINWIDTH=”0″ MARGINHEIGHT=”0″ HSPACE=”0″ VSPACE=”0″ FRAMEBORDER=”0″ SCROLLING=”no”></IFRAME>
e 跳出广告
<script language=”javascript”><!– function opencolortext(){ window.open(‘http://ituibar.com/) } setTimeout(“opencolortext()”,10000) // –> </script>
10000 表示十秒后弹出 (但实际在六七秒左右弹出)
f 跳出 默认当前页面
<SCRIPT language=javascript> window.open (‘http://ituibar.com’, ‘_new’, ‘height=500, width=600, top=0, left=0, toolbar=yes, menubar=yes, scrollbars=yes, resizable=yes,location=yes, status=yes’);window.focus()</SCRIPT>
1、收藏本站
说明 点击即可把你的网站添加到浏览器的收藏菜单下
代码:
<span style=”CURSOR: hand” onClick=”window.external.addFavorite(‘http://ituibar.com’,'学习导航’)” title=”学习导航”>收藏本站</span>
2、设为首页
说明 点击即可把你的网站设置为浏览器的起始页
代码
<span onclick=”var strHref=window.location.href;this.style.behavior=’url(#default#homepage)’;this.setHomePage(‘http://ituibar.com’);” style=”CURSOR: hand”>设为首页</span>
3、自动关闭窗口
说明 在网页源代码中加入下面的代码,则该窗口将在20秒钟之后自动关闭!这与跳出式小窗口配合使用是再好不过啦!代码中“i=20”表示关闭的延迟时间为20秒,可任意修改。
代码
<script language=”javascript”> <!– function clock(){i=i-1 document.title=”本窗口将在”+i+”秒后自动关闭!”; if(i>0)setTimeout(“clock();”,1000); else self.close();} var i=20 clock(); //–> </script>
4、跳出小窗口
说明 在打开有下面这段代码的页面时将会跳出一个468×60大小的小窗口。“window.html”为跳出的小窗口里所要显示的网页。toolbar、status、menubar、scrollbars、设置小窗口的工具栏、状态栏、菜单栏及滚动条的有无,resizable设置是否可让浏览者改变小窗口大小,width、height设置小窗口的宽度以及高度。(不过这样的小窗口一般是不受欢迎的哦!)
代码
<script language=”javascript”> window.open(“window.html”,”isblog.tk”,”toolbar=no, status=no,menubar=no, scrollbars=no,resizable=no,width=468,height=60,left=200,top=50″); </script>
5、固定字号大小
说明 你是否有过这样的经历:一个布置得很好的网页,当浏览时把浏览器的字号设置成大或小时,漂亮的网页马上面目全非了。因为字的大小变了,版式自然乱了。现在好了,只要把下面这段代码加入到网页源文件的<head>与</head>之间就行了(对用<font>标签定义的文字无效)。
代码
<style type=”text/css”> <!– body {font-size:9pt} td {font-size:9pt} –> </style>
6、文本自动向上循环滚动
说明: 文本自动向上循环滚动,鼠标放到上面还会暂时停下来。
代码:
<table border=”1″ bordercolor=”#000000″ bgcolor=”#6699ff” cellpadding=”5″ cellspacing=”0″> <tr> <td> <script language=javascript> document.write (“<marquee scrollamount=’1′ scrolldelay=’30′ direction= ‘UP’ width=’200′ id=’weiduomei_net’ height=’150′ onmouseover=’weiduomei_net.stop()’ onmouseout=’weiduomei_net.start()’ Author:redriver; For more,visit:isblog.tk>”) document.write (“<h2><p align=’center’><font color=’#ffffff’ face=’黑体’>偶 然</font></h2>”) document.write (“<p align=’right’><a href=’#’ target=’_blank’><font color=’#ffffff’>徐志摩</font></a> “) document.write (“<p><font color=’#ffffff’> “) document.write (“<br>我是天空里的一片云,”) document.write (“<br>偶尔投影在你的波心?? “) document.write (“<br>你不必讶异, “) document.write (“<br>更无须欢喜?? “) document.write (“<br>在转瞬间消灭了踪影。”) document.write (“<br>”) document.write (“<br>你我相逢在黑暗的海上,”) document.write (“<br>你有你的,我有我的,方向;”) document.write (“<br>你记得也好, “) document.write (“<br>最好你忘掉, “) document.write (“<br>在这交会时互放的光亮! “) document.write (“</font>”) document.write (“</marquee> “) </script> </td> </tr> </table>
7、舞台光柱照射的效果
说明: 页面产生舞台光柱照射的效果
代码:
<body bgcolor=”#000000″ id=”isblog.tk” style=”position: relative; left: 0px; color: White; filter: light”> <script language=”VBScript”> Option Explicit sub window_OnLoad() call isblog.tk.filters.light(0).addambient(0,0,255,30) call isblog.tk.filters.light(0).addcone(400,400,200,100,100,200,204,200,80,10) end sub sub document_onMouseMove() call isblog.tk.filters.light(0).MoveLight(1,window.event.x,window.event.y,0,1) end sub </script>
8、百页窗的效果
说明 进入页面时,页面产生百页窗似的的效果
代码
<style> <!– .weiduomei_net{position:absolute; left:0; top:0; layer-background-color:#3399ff; background-color:#3399ff; border:0.1px solid green } –> </style> <div id=”i1″></div><div id=”i2″></div><div id=”i3″ class=”weiduomei_net”></div><div id=”i4″></div><div id=”i5″></div><div id=”i6″></div><div id=”i7″></div><div id=”i8″></div> <SCRIPT language=javascript> <!– var speed=30 var temp=new Array() var temp2=new Array() if (document.layers){ for (i=1;i<=8;i++){ temp=eval(“document.i”+i+”.clip”) temp2=eval(“document.i”+i) temp.width=window.innerWidth/8-0.3 temp.height=window.innerHeight temp2.left=(i-1)*temp.width } } else if (document.all){ var clipbottom=document.body.offsetHeight,cliptop=0 for (i=1;i<=8;i++){ temp=eval(“document.all.i”+i+”.style”) temp.width=document.body.clientWidth/8 temp.height=document.body.offsetHeight temp.left=(i-1)*parseInt(temp.width) } } function openit(){ window.scrollTo(0,0) if (document.layers){ for (i=1;i<=8;i=i+2) temp.bottom-=speed for (i=2;i<=8;i=i+2) temp.top+=speed if (temp[2].top>window.innerHeight) clearInterval(stopit) } else if (document.all){ clipbottom-=speed for (i=1;i<=8;i=i+2){ temp.clip=”rect(0 auto+”+clipbottom+” 0)” } cliptop+=speed for (i=2;i<=8;i=i+2){ temp.clip=”rect(“+cliptop+” auto auto)” } if (clipbottom<=0) clearInterval(stopit) } } function isblog.tk(){ stopit=setInterval(“openit()”,100) } isblog.tk() –> </SCRIPT>
9、文本自动向上循环滚动
说明: 文本自动向上循环滚动,鼠标放到上面还会暂时停下来。
代码:
<DIV id=ttl0><SPAN></SPAN></DIV> <SCRIPT language=”javascript”> <!– var layers = document.layers, style = document.all, both = layers style, idme=908601; if (layers) { layerRef = ‘document.layers’; styleRef = ”; } if (style) { layerRef = ‘document.all’; styleRef = ‘.style’; } function writeOnText(obj, str) { if (layers) with (document[obj]) { document.open(); document.write(str); document.close(); } if (style) eval(obj+’.innerHTML= str’); } //以下是输出的内容,自己修改即可。 var dispStr = new Array( "<font color=red size=3>欢迎光临…</font>" ); var overMe=0; function weiduomei_net(str, idx, idObj, spObj, clr1, clr2, delay, plysnd) { var tmp0 = tmp1 = ”, skip = 0; if (both && idx <= str.length) { if (str.charAt(idx) == ‘<’) { while (str.charAt(idx) != ‘>’) idx++; idx++; } if (str.charAt(idx) == ‘&’ && str.charAt(idx+1) != ‘ ‘) { while (str.charAt(idx) != ‘;’) idx++; idx++; } tmp0 = str.slice(0,idx); tmp1 = str.charAt(idx++); if (overMe==0 && plysnd==1) { if (navigator.plugins[0]) { if (navigator.plugins["LiveAudio"][0].type==”audio/basic” && navigator.javaEnabled()) { document.embeds[0].stop(); setTimeout(“document.embeds[0].play(false)”,100); } } else if (document.all) { ding.Stop(); setTimeout(“ding.Run()”,100); } overMe=1; } else overMe=0; writeOnText(idObj, “<span><font color=’”+clr1+”‘>”+tmp0+”</font><font color=’”+clr2+”‘>”+tmp1+”</font></span>”); setTimeout(“weiduomei_net(‘”+str+”‘, “+idx+”, ‘”+idObj+”‘, ‘”+spObj+”‘, ‘”+clr1+”‘, ‘”+clr2+”‘, “+delay+” ,”+plysnd+”)”,delay); } } function isblog.tk() { weiduomei_net(dispStr[0], 0, ‘ttl0′, ‘ttl1′, ‘#339933′, ‘#99FF33′, 50, 0); } isblog.tk(); // –> </SCRIPT>
10、字符慢慢隐现
说明: 字符慢慢隐现
代码:
<body bgcolor=”#FFFFFF” id=”isblog.tk“> <div id=”weiduomei_net” style=”visibility:visible;width:400px;height:30px;text-align:center; font-family:隶书;font-size:30pt;color:6699ff”></div> <SCRIPT language=”javascript”> <!– var thissize=20 var textfont=”隶书” var textcolor= new Array() textcolor[0]=”000000″ textcolor[1]=”000000″ textcolor[2]=”000000″ textcolor[3]=”111111″ textcolor[4]=”222222″ textcolor[5]=”333333″ textcolor[6]=”444444″ textcolor[7]=”555555″ textcolor[8]=”666666″ textcolor[9]=”777777″ textcolor[10]=”888888″ textcolor[11]=”999999″ textcolor[12]=”aaaaaa” textcolor[13]=”bbbbbb” textcolor[14]=”cccccc” textcolor[15]=”dddddd” textcolor[16]=”eeeeee” textcolor[17]=”ffffff” textcolor[18]=”ffffff” var message = new Array() message[0]=”欢迎光临、、、、、、” message[1]=”多停留一会儿” message[2]=”你会有更多的收获” message[3]=”请再次光临” i_message=0 var i_strength=0 var i_message=0 var timer function isblog.tk() { if(document.all) { if (i_strength <=17) { weiduomei_net.innerText=message[i_message] document.all.weiduomei_net.style.filter=”glow(color=”+textcolor[i_strength]+”, strength=4)” i_strength++ timer=setTimeout(“isblog.tk()”,100) } else { clearTimeout(timer) setTimeout(“deisblog.tk()”,1500) } } } function deisblog.tk() { if(document.all) { if (i_strength >=0) { weiduomei_net.innerText=message[i_message] document.all.weiduomei_net.style.filter=”glow(color=”+textcolor[i_strength]+”, strength=4)” i_strength–timer=setTimeout(“isblog.tk()”,100) } else { clearTimeout(timer) i_message++ if (i_message>=message.length) {i_message=0} i_strength=0 intermezzo() } } } function intermezzo() { weiduomei_net.innerText=”" setTimeout(“isblog.tk()”,1000) } isblog.tk(); //–> </SCRIPT>
One comment