JavaScript窗口功能指南之创建弹出窗口

限时加码!20+主流AI编程工具免费用 购周边加赠Coding Plan Lite,Claude Code、Cursor等即刻畅享,学习进阶更高效! 阅读详情
JavaScript窗口功能指南之创建弹出窗口
(作者:听风编译 2001年01月19日 11:35)

  Internet Explorer 5.5支持一个新的window对象的方法:creatPopup()。你可以向下面一样创建一个弹出窗口:

  var popupObj = window.createPopup();

  当你创建了这个对象后,弹出窗口并不显示。你必须要调用它的show方法:

  popupObj.show(yOffset, xOffset, width, height, referenceObj)

  在这里:

  yOffset 是弹出窗口距离屏幕左上角的水平偏移。

  xOffset 是弹出窗口距离屏幕左上角的垂直偏移。

  width 是弹出窗口的宽度。

  height 是弹出窗口的高度。

  referenceObj 是一个可选参数,它替代屏幕左上角做为引用yOffset 和 xOffset 的参照。

  让我们示范一下新的弹出窗口的用处。如果你点击下面的链接,一个所有这个教程的菜单就会弹出来。注意,当菜单弹出时,页面就滚动回到它的顶部。我们怎么样执行这个弹出窗口呢?首先,你需要定义一个可见菜单,它随后会被转载进弹出菜单。为了实现隐藏链接,可以将菜单放置到一个隐藏的位置。我们选择位置(-1000,-1000),并在菜单的style标记中定义它(在HEAD段的某个地方):

  <STYLE>

   .menu {position: absolute; top: -1000; left: -1000}

  </STYLE>

  我们执行菜单做为表格的链接:

  <TABLE CLASS=menuID=submenu>

   <TR><TD NOWRAP>

    <A HREF="names.html" TARGET="CONTENT">How to name your windows and frames</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="open.html">How to open a new window</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="features.html">How to specify the features of a new window</A>

   </TD></TR>

    <TR><TD NOWRAP>

    <A HREF="utilize.html">How to utilize the window features</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="exist.html">How to check if a window exists</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="reference.html">How to close a window</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="manipulate.html">How to manipulate a window</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="write.html">How to write content to a window</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="opener.html">How to reference the opener</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="dialog.html">How to create a dialog box</A>

   </TD></TR>

   <TR><TD NOWRAP>

    <A HREF="popup.html">How to create a pop-up window</A>

   </TD></TR>

   <TR><TD></TD></TR>

  </TABLE>

  链接本身(教程的页面)不会改变URL,但是当被点击时,就调用showMenu()函数:

  <A HREF='#' ONCLICK='showMenu(this, submenu)'>Tutorial's Pages</A>

  showMenu()函数有2个参数,一个是链接对象,它调用函数,另一个是菜单的ID。我们要采取的第一个行为是分配弹出窗口的body对象:

  var popupBodyObj = popupObj.document.body;

  然后,设置边界为1象素,紫色,固体样式:

  popupBodyObj.style.border = "1px purple solid";

  填充弹出窗口的内容绝不是一个琐碎的工作,实现的一个方法就是使用innerHTML和outerHTML:

  popupBodyObj.innerHTML = menuID.outerHTML;

  接着,我们需要对页面的所有链接指派onClick事件处理程序,定义这个事件的响应函数为doclick。

  for (var i = 0; i < popupBodyObj.all.length; i++) {

   if (popupBodyObj.all[i].tagName == "A")

         popupBodyObj.all[i].onclick = doClick;

  }

  下面是showMenu()函数的全部代码:

  function showMenu(linkObj, menuID) {

   var popupObj = window.createPopup();

   var popupBodyObj = popupObj.document.body;

   popupBodyObj.style.border = "1px purple solid";

   popupBodyObj.innerHTML = menuID.outerHTML;

   for (var i = 0; i < popupBodyObj.all.length; i++) {

    if (popupBodyObj.all[i].tagName == "A")

     popupBodyObj.all[i].onclick = doClick;

   }

   popupObj.show(0, linkObj.offsetHeight, menuID.offsetWidth, menuID.offsetHeight, linkObj);

  }

  函数的最后一条语句是显示弹出窗口。我们将弹出窗口放置于调用它的链接linkObj旁边。如果你省略了这个引用,弹出窗口将参照屏幕左上角被放置。水平偏移是0。为了避免窗口弹出时链接被隐藏,我们要设置对于链接高度的垂直偏移,linkObj.offsetHeight。很自然,我们设置窗口的宽度和高度为初始菜单的宽度(menuID.offsetWidth)和高度(menuID.offsetHeight)。

  函数doClick()是一个2行代码的程序,它修改当前窗口的URL(parent.href)为点击链接的URL(this):

  function doClick() {

   parent.location = this.href;

   return false;

  }

总结
  在这个教程中,我们试图覆盖JavaScript有关窗口相关特征的大多数内容。我们给你展示了如何根据你的要求打开一个新窗口,怎样在窗口中写内容,操纵它,关闭它。同时,我们介绍了如何引用打开窗口的父窗口。最后,我们接触到2个特殊类型的窗口:对话框和弹出窗口。



实现JavaScript点击弹出窗口功能指南 开发者可以提供一个配置文件或管理界面,让用户能够根据自己的需求修改弹出窗口的行为和样式。配置方法为弹出窗口设计一个基于JSON或YAML的配置文件格式,方便开发者或用户快速进行配置。开发一个管理界面(可能是一个Web界面或者是一个应用内的设置面板),让用户能够通过点击按钮或滑动滑块来进行配置。# 弹出窗口配置示例popup:通过上述配置,用户可以快速地修改弹出窗口的宽度、高度、主题,以及窗口出现和关闭时的动画效果。 阅读详情

相关推荐

JavaScript 弹出窗口实战指南

在本章节中,我们将深入探讨如何构建一个自定义模态对话框。模态对话框(Modal)是一种常用的用户界面设计模式,用于在当前页面中弹出一个浮动窗口,用于显示信息或收集用户输入,而不必离开当前页面。本章将分为两个主要部分:设计思路与规划以及编写基础HTML结构。当着手设计自定义模态对话框时,HTML是构建骨架的基础。首先,我们需要定义一个div元素作为对话框的主容器。接着,使用headersection或article标签来分配对话框的头部和内容区域。<h2>模态框标题</h2>

weixin_42578963的博客 1260

javascript基础:创建窗口、父窗口与子窗口

通过window对象的open方法可以窗口窗口,通过close方法可以关闭子窗口,但是只有在不指定新窗口连接的情况下,才有效。 下面的代码是在chrome中运行的。 父窗口代码: <!DOCTYPE HTML> <HTML> <HEAD> <TITLE> New Document </TITLE> <...

weixin_30394251的博客 302

[javascript基础]使用窗口

这篇博客是参看[HTML、CSS和JavaScript入门经典].(美)梅洛尼著.第20章使用窗口和框架,边看边写的;由于后面框架部分我的html不支持,暂不做笔记,待有空时写笔记

wusandaofwy的博客 2298

JS的window.createPopup()学习

function OpenShortcutMenu( domObj ){var pop = window.createPopup();var popBody = pop.document.body;popBody.innerHTML = "Testing..."pop.show(window.event.x, 76, 140,200, document.body);}(1)var pop 变量:p

D-Y-W-DIY-? 1660

java doclick_jbutton doClick()方法不起作用

我单元测试的时候用JDialog中的button点击,发现不起作用public class Message extends JDialog implements ActionListener {protected JFrame messageFrame;protected JLabel messsageLabel;protected JButton closeButton;public Messa...

weixin_39978101的博客 578

js中window.createPopup()方法以及attachEvent("onmouseover",OverFuncOne)实例

&lt;html&gt; &lt;body&gt; Internet Explorer 5.5支持一个新的window对象的方法:creatPopup()。你可以向下面一样创建一个弹出窗口: &lt;br&gt;   var popupObj = window.createPopup(); &lt;br&gt;   当你创建了这个对象后,弹出窗口并不显示。你必须要调用它的s...

333

JavaScript窗口功能指南创建弹出窗口 (转)

JavaScript窗口功能指南创建弹出窗口 (转)[@more@]Javascript窗口功能指南创建弹出窗口(作者:听风编译 2001年01月19日 11:35)  Inte.NET Explorer 5.5支持一个新的...

csd3176的博客 125

使用 Leaflet.js 创建地图的入门指南

Leaflet.js 是目前最流行的映射库之一。它是一个灵活、轻量级的开源 JavaScript 库,用于创建交互式地图。 Leaflet 是一个用于呈现地图数据的框架。数据以及底图图层必须由开发人员提供。地图由切片图层以及浏览器支持、默认交互性、平移和缩放功能组成。您还可以添加更多自定义图层和插件,以及 Leaflet 中的所有映射。该地图库将您的数据转换为地图图层,并提供出色的支持,使其成为大多数开发人员的首选。它在主要的桌面和移动平台上运行良好,使其成为移动和大屏幕地图的完美 JavaScript

qq_39652397的博客 7130

JavaScript】简单实现弹出窗口div

JavaScript实现弹出窗口 思路 总体使用两个div,一个作为底层展示,一个做为弹出窗口; 两个窗口独立进行CSS设计,通过display属性进行设置现实与隐藏,此处建议使用display属性而不是visibility属性,visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间,影响布局; 在js内设计两个onclick事件,分别指定函数,分别为开启弹窗和关闭弹窗。 一、设置两个div <html> <title>弹出窗口</t

Lee的博客 2万+

javascript弹出窗口代码

     【1、最基本的弹出窗口代码】   &lt;SCRIPT LANGUAGE="javascript"&gt;   &lt;!--   window.open ('page.html')   --&gt;   &lt;/SCRIPT&gt;      因为着是一段javascripts代码,所以它们应该放在&lt;SCRIPT LANGUAGE="javascript"&gt;标签和&lt;

weixin_33752045的博客 1万+

JS弹出窗口方法汇总

弹出窗口 【1、最基本的弹出窗口代码】 其实代码非常简单: &lt;SCRIPT LANGUAGE="javascript"&gt;

dearbaba_8520的博客 1万+

JS实现弹出窗口并获取返回值功能

最近一段时间,所做系统需要实现使用js弹出一个自定义窗口,并且获取窗口的返回值功能,经多方查询未能找到较好的示例,所以无奈之下自己开发了一个弹出窗口,并稍微封装了一下.废话少说,上代码: 父页面弹出窗口示例: $("#c_id").click(function(){///一个点击事件 ///调用已封装的js,传入子页面url以及回调方法 openWindow.open({ ...

weixin_42340354的博客 6535

html生成小窗口,用JS制作9种弹出窗口(HTML)

进入许多网站时,有弹出式小窗口,它们五花八门,使我们捉摸不透下面就来介绍用JS制作9种制作弹出窗口:1、最基本的弹出窗口代码其实代码非常简单:window.open("page.html")-->因为这是一段Javascript代码,所以它们应该放在之间。是对一些版本低的浏览器起作用,在这些老浏览器中不会将标签中的代码作为文本显示出来。要养成这个好习惯啊。window.open("pa...

weixin_33464176的博客 8809
上一篇: JavaScript窗口功能指南之定制新窗口
下一篇: JavaScript窗口功能指南之打开一个新窗口
hktl
博客等级 码龄26年 13粉丝 35原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值