制作Javascript弹出窗口技巧九则
经常上网的朋友可能会到过这样一些网站 一进入首页立刻会弹出一个窗口 或者按一个连接或按钮弹出 通常在这个窗口里会显示一些注意事项 版权信息 警告 欢迎光顾之类的话或者作者想要特别提示的信息 其实制作这样的页面效果非常的容易 只要往该页面的HTML里加入几段Javascript代码即可实现 下面俺就带您剖析它的奥秘
最基本的弹出窗口代码
其实代码非常简单
< SCRIPT LANGUAGE= javascript >
< !
window open ( l )
>
< /SCRIPT>
因为这是一段Javascript代码 所以它们应该放在< SCRIPT LANGUAGE= javascript >之间 < ! 和 >是对一些版本低的浏览器起作用 在这些老浏览器中不会将标签中的代码作为文本显示出来 要养成这个好习惯啊
window open ( l ) 用于控制弹出新的窗口l 如果l不与主窗口在同一路径下 前面应写明路径 绝对路径//)和相对路径( /)均可
用单引号和双引号都可以 只是不要混用
这一段代码可以加入HTML的任意位置 < head>和< /head>之间可以 < body>间< /body>也可以 越前越早执行 尤其是页面代码长 又想使页面早点弹出就尽量往前放 也可以 越前越早执行 尤其是页面代码长 又想使页面早点弹出就尽量往前放
经过设置后的弹出窗口
下面再说一说弹出窗口的设置 只要再往上面的代码中加一点东西就可以了 我们来定制这个弹出的窗口的外观 尺寸大小 弹出的位置以适应该页面的具体情况
< SCRIPT LANGUAGE= javascript >
< !
window open ( l newwindow height= width= top= left= toolbar=no menubar=no scrollbars=no resizable=no location=no status=no )
//写成一行
>
< /SCRIPT>
参数解释
< SCRIPT LANGUAGE= javascript > js脚本开始
window open 弹出新窗口的命令
l 弹出窗口的文件名
newwindow 弹出窗口的名字(不是文件名) 非必须 可用空 代替
height= 窗口高度
width= 窗口宽度
top= 窗口距离屏幕上方的象素值
left= 窗口距离屏幕左侧的象素值
toolbar=no 是否显示工具栏 yes为显示
menubar scrollbars 表示菜单栏和滚动栏
resizable=no 是否允许改变窗口大小 yes为允许
location=no 是否显示地址栏 yes为允许
status=no 是否显示状态栏内的信息(通常是文件已经打开) yes为允许
< /SCRIPT> js脚本结束
用函数控制弹出窗口
下面是一个完整的代码
< >
< head>
< script LANGUAGE= JavaScript >
< !
function openwin() {
window open ( l newwindow height= width= toolbar=no menubar=no scrollbars=no resizable=no location=no status=no )
//写成一行
}
// >
< /script>
< /head>
< body onload= openwin() >
任意的页面内容
< /body>
< />
这里定义了一个函数openwin() 函数内容就是打开一个窗口 在调用它之前没有任何用途
怎么调用呢?
方法一 < body onload= openwin() > 浏览器读页面时弹出窗口
方法二 < body onunload= openwin() > 浏览器离开页面时弹出窗口
方法三 用一个连接调用 < a # onclick= openwin() >打开一个窗口< /a>
注意 使用的 # 是虚连接
方法四 用一个按钮调用 < input type= button onclick= openwin() value= 打开窗口 >
同时弹出 个窗口
对源代码稍微改动一下
< script LANGUAGE= JavaScript >
< !
function openwin() {
window open ( l newwindow height= width= top= left= toolbar=no menubar=no scrollbars=no resizable=no location=no status=no )
//写成一行
window open ( l newwindow height= width= top= left= toolbar=no menubar=no scrollbars=no resizable=no location=no status=no )
//写成一行
}
// >
< /script>
为避免弹出的 个窗口覆盖 用top和left控制一下弹出的位置不要相互覆盖即可 最后用上面说过的四种方法调用即可
注意 个窗口的name(newwindows和newwindow )不要相同 或者干脆全部为空 OK?
主窗口打开文件 同时弹出小窗口l
如下代码加入主窗口< head>区
< script language= javascript >
< !
function openwin() {
window open( l width= height= )
}
// >
< /script>
加入< body>区
< a onclick= openwin() >open< /a>即可
弹出的窗口之定时关闭控制
下面我们再对弹出的窗口进行一些控制 效果就更好了 如果我们再将一小段代码加入弹出的页面(注意是加入到l的HTML中 可不是主页面中 否则 ) 让它 秒后自动关闭是不是更酷了?
首先 将如下代码加入l文件的< head>区
< script language= JavaScript >
function closeit() {
setTimeout( self close() ) //毫秒
}
< /script>
然后 再用< body onload= closeit() > 这一句话代替l中原有的< BODY>这一句就可以了 (这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码 秒钟后就自行关闭该窗口 )
在弹出窗口中加上一个关闭按钮
< FORM>
< INPUT TYPE= BUTTON VALUE= 关闭 onClick= window close() >
< /FORM>
呵呵 现在更加完美了!
内包含的弹出窗口 --一个页面两个窗口
上面的例子都包含两个窗口 一个是主窗口 另一个是弹出的小窗口 通过下面的例子 你可以在一个页面内完成上面的效果
< >
< head>
< SCRIPT LANGUAGE= JavaScript >
function openwin()
{
OpenWindow=window open( newwin height= width= toolbar=no scrollbars= +scroll+ menubar=no );
//写成一行
OpenWindow document write( < TITLE>例子< /TITLE> )
OpenWindow document write( < BODY BGCOLOR=#ffffff> )
OpenWindow document write( < h >Hello!< /h > )
OpenWindow document write( New window opened! )
OpenWindow document write( < /BODY> )
OpenWindow document write( < /HTML> )
OpenWindow document close()
}
< /SCRIPT>
< /head>
< body>
< a # onclick= openwin() >打开一个窗口< /a>
< input type= button onclick= openwin() value= 打开窗口 >
< /body>
< />
看看OpenWindow document write()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可 千万注意多一个标签或少一个标签就会出现错误 记得用OpenWindow document close()结束啊
终极应用 弹出的窗口之Cookie控制
回想一下 上面的弹出窗口虽然酷 但是有一点小毛病(沉浸在喜悦之中 一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页) 那么每次刷新这个页面 窗口都会弹出一次 是不是非常烦人?: (
有解决的办法吗?当然有!我们使用cookie来控制一下就可以了 首先 将如下代码加入主页面HTML的< HEAD>区
< script>
function openwin(){
window open( l width= height= )
}
function get_cookie(Name) {
var search = Name + = var returnvalue = ;
if (okie length > ) {
offset = okie indexOf(search)
if (offset != ) {
offset += search length
end = okie indexOf( ; offset);
if (end == )
end = okie length;
returnvalue=unescape(okie substring(offset end))
}
}
return returnvalue;
}
function loadpopup(){
if (get_cookie( popped )== ){
openwin()
okie= popped=yes
}
}
< /script>
然后 用< body onload= loadpopup() >(注意不是openwin而是loadpop啊!)替换主页面中原有的< BODY>这一句即可 你可以试着刷新一下这个页面或重新进入该页面 窗口再也不会弹出了 真正的Pop Only Once!
写到这里弹出窗口的制作和应用技巧基本上算是完成了 俺也累坏了 一口气说了这么多 希望对正在制作网页的朋友有所帮助俺就非常欣慰了
lishixinzhi/Article/program/Java/Javascript/201311/25256