javascript

位置:IT落伍者 >> javascript >> 浏览文章

制作Javascript弹出窗口技巧九则


发布日期:2023年07月22日
 
制作Javascript弹出窗口技巧九则

经常上网的朋友可能会到过这样一些网站一进入首页立刻会弹出一个窗口或者按一个连接或按钮弹出通常在这个窗口里会显示一些注意事项版权信息警告欢迎光顾之类的话或者作者想要特别提示的信息其实制作这样的页面效果非常的容易只要往该页面的HTML里加入几段Javascript代码即可实现下面俺就带您剖析它的奥秘

最基本的弹出窗口代码

其实代码非常简单

< SCRIPT LANGUAGE=javascript>

< !

windowopen (l)

>

< /SCRIPT>

因为这是一段Javascript代码所以它们应该放在< SCRIPT LANGUAGE=javascript>之间 < !>是对一些版本低的浏览器起作用在这些老浏览器中不会将标签中的代码作为文本显示出来要养成这个好习惯啊

windowopen (l) 用于控制弹出新的窗口l如果l不与主窗口在同一路径下前面应写明路径绝对路径//)和相对路径(/)均可

用单引号和双引号都可以只是不要混用

这一段代码可以加入HTML的任意位置< head>和< /head>之间可以< body>间< /body>也可以越前越早执行尤其是页面代码长又想使页面早点弹出就尽量往前放 也可以越前越早执行尤其是页面代码长又想使页面早点弹出就尽量往前放

经过设置后的弹出窗口

下面再说一说弹出窗口的设置只要再往上面的代码中加一点东西就可以了我们来定制这个弹出的窗口的外观尺寸大小弹出的位置以适应该页面的具体情况

< SCRIPT LANGUAGE=javascript>

< !

windowopen (l newwindow height= width= top= left= toolbar=no menubar=no scrollbars=no resizable=nolocation=no status=no)

//写成一行

>

< /SCRIPT>

参数解释

< SCRIPT LANGUAGE=javascript> js脚本开始

windowopen 弹出新窗口的命令

l 弹出窗口的文件名

newwindow 弹出窗口的名字(不是文件名)非必须可用空代替

height= 窗口高度

width= 窗口宽度

top= 窗口距离屏幕上方的象素值

left= 窗口距离屏幕左侧的象素值

toolbar=no 是否显示工具栏yes为显示

menubarscrollbars 表示菜单栏和滚动栏

resizable=no 是否允许改变窗口大小yes为允许

location=no 是否显示地址栏yes为允许

status=no 是否显示状态栏内的信息(通常是文件已经打开)yes为允许

< /SCRIPT> js脚本结束

用函数控制弹出窗口

下面是一个完整的代码

< html>

< head>

< script LANGUAGE=JavaScript>

< !

function openwin() {

windowopen (l newwindow height= width= toolbar=no menubar=no scrollbars=no resizable=no location=no status=no)

//写成一行

}

//>

< /script>

< /head>

< body onload=openwin()>

任意的页面内容

< /body>

< /html>

这里定义了一个函数openwin()函数内容就是打开一个窗口在调用它之前没有任何用途

怎么调用呢?

方法一< body onload=openwin()> 浏览器读页面时弹出窗口

方法二< body onunload=openwin()> 浏览器离开页面时弹出窗口

方法三用一个连接调用< a # onclick=openwin()>打开一个窗口< /a>

注意使用的#是虚连接

方法四用一个按钮调用< input type=button onclick=openwin() value=打开窗口>

同时弹出个窗口

对源代码稍微改动一下

< script LANGUAGE=JavaScript>

< !

function openwin() {

windowopen (l newwindow height= width= top= left=toolbar=no menubar=no scrollbars=no resizable=no location=no status=no)

//写成一行

windowopen (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() {

windowopen(lwidth=height=)

}

//>

< /script>

加入< body>区

< a onclick=openwin()>open< /a>即可

弹出的窗口之定时关闭控制

下面我们再对弹出的窗口进行一些控制效果就更好了如果我们再将一小段代码加入弹出的页面(注意是加入到l的HTML中可不是主页面中否则)让它秒后自动关闭是不是更酷了?

首先将如下代码加入l文件的< head>区

< script language=JavaScript>

function closeit() {

setTimeout(selfclose()) //毫秒

}

< /script>

然后再用< body onload=closeit()> 这一句话代替l中原有的< BODY>这一句就可以了(这一句话千万不要忘记写啊!这一句的作用是调用关闭窗口的代码秒钟后就自行关闭该窗口)

在弹出窗口中加上一个关闭按钮

< FORM>

< INPUT TYPE=BUTTON VALUE=关闭 onClick=windowclose()>

< /FORM>

呵呵现在更加完美了!

内包含的弹出窗口--一个页面两个窗口

上面的例子都包含两个窗口一个是主窗口另一个是弹出的小窗口通过下面的例子你可以在一个页面内完成上面的效果

< html>

< head>

< SCRIPT LANGUAGE=JavaScript>

function openwin()

{

OpenWindow=windowopen( newwin height= width=toolbar=noscrollbars=+scroll+menubar=no);

//写成一行

OpenWindowdocumentwrite(< TITLE>例子< /TITLE>)

OpenWindowdocumentwrite(< BODY BGCOLOR=#ffffff>)

OpenWindowdocumentwrite(< h>Hello!< /h>)

OpenWindowdocumentwrite(New window opened!)

OpenWindowdocumentwrite(< /BODY>)

OpenWindowdocumentwrite(< /HTML>)

OpenWindowdocumentclose()

}

< /SCRIPT>

< /head>

< body>

< a # onclick=openwin()>打开一个窗口< /a>

< input type=button onclick=openwin() value=打开窗口>

< /body>

< /html>

看看OpenWindowdocumentwrite()里面的代码不就是标准的HTML吗?只要按照格式写更多的行即可千万注意多一个标签或少一个标签就会出现错误记得用OpenWindowdocumentclose()结束啊

终极应用弹出的窗口之Cookie控制

回想一下上面的弹出窗口虽然酷但是有一点小毛病(沉浸在喜悦之中一定没有发现吧?)比如你将上面的脚本放在一个需要频繁经过的页面里(例如首页)那么每次刷新这个页面窗口都会弹出一次是不是非常烦人?:(

有解决的办法吗?当然有!我们使用cookie来控制一下就可以了首先将如下代码加入主页面HTML的< HEAD>区

< script>

function openwin(){

windowopen(lwidth=height=)

}

function get_cookie(Name) {

var search = Name + = var returnvalue = ;

if (okielength > ) {

offset = okieindexOf(search)

if (offset != ) {

offset += searchlength

end = okieindexOf(; offset);

if (end == )

end = okielength;

returnvalue=unescape(okiesubstring(offset end))

}

}

return returnvalue;

}

function loadpopup(){

if (get_cookie(popped)==){

openwin()

okie=popped=yes

}

}

< /script>

然后用< body onload=loadpopup()>(注意不是openwin而是loadpop啊!)替换主页面中原有的< BODY>这一句即可你可以试着刷新一下这个页面或重新进入该页面窗口再也不会弹出了真正的PopOnlyOnce!

写到这里弹出窗口的制作和应用技巧基本上算是完成了俺也累坏了一口气说了这么多希望对正在制作网页的朋友有所帮助俺就非常欣慰了

需要注意的是JS脚本中的的大小写最好前后保持一致

上一篇:用JS实现个性的QQ状态显示

下一篇:禁止右键、Ctrl键和复制功能的JS代码