制作Javascript弹出窗口技巧九则

 我来答
机器1718
2022-10-31 · TA获得超过6831个赞
知道小有建树答主
回答量:2805
采纳率:99%
帮助的人:160万
展开全部

  经常上网的朋友可能会到过这样一些网站 一进入首页立刻会弹出一个窗口 或者按一个连接或按钮弹出 通常在这个窗口里会显示一些注意事项 版权信息 警告 欢迎光顾之类的话或者作者想要特别提示的信息 其实制作这样的页面效果非常的容易 只要往该页面的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

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微测检测5.10
2023-05-10 广告
您好!建议咨 深圳市微测检测有限公司,已建立起十余个专业实验室,企业通过微测检测就可以获得一站式的测试与认 证解决方案;(EMC、RF、MFi、BQB、QI、USB、安全、锂电池、快充、汽车电子EMC、汽车手机互 联、语音通话质量),认证遇... 点击进入详情页
本回答由微测检测5.10提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式