求JS写弹出框思路或样例代码(有阻塞的那种)

zkf53064 2012-04-27 05:24:31
需求要一弹出框,用于修改数据。
知道可用DIV实现,但是不能阻塞线页面
想要写一个弹出框,让用户只能在弹出框的范围操作


求高手解决!
...全文
463 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkf53064 2012-04-27
  • 打赏
  • 举报
回复
好像是挺简单的,试试看,谢谢几位!
  • 打赏
  • 举报
回复

<html>
<head>
<script>
function reSizeWindow()
{
var shadow = document.getElementById("shadow");
var dialog = document.getElementById("dialog");

shadow.style.width = parseInt(document.body.clientWidth) + parseInt(document.body.scrollLeft);
shadow.style.height = parseInt(document.body.clientHeight) + parseInt(document.body.scrollTop);

dialog.style.left = parseInt(document.body.clientWidth)/2 - parseInt(dialog.style.width)/2 + parseInt(document.body.scrollLeft);
dialog.style.top = parseInt(document.body.clientHeight)/2 - parseInt(dialog.style.height)/2 + parseInt(document.body.scrollTop);
}
function openWindow()
{
document.getElementById("shadow").style.display = "block";
document.getElementById("dialog").style.display = "block";

reSizeWindow();
}
function closeWindow()
{
document.getElementById("shadow").style.display = "none";
document.getElementById("dialog").style.display = "none";
}
</script>
<style type="text/css">
.dialogStyle
{
background:red;
position:absolute;
display:none;
text-align:right;
z-index:2;
}
.shadowStyle
{
position:absolute;
left:0px;
top:0px;
display:none;
filter:alpha(opacity=30);
opacity:0.3;
background:gray;
z-index:1;
}
</style>
</head>
<body style="margin:0px 0px 0px 0px;">
<input type="button" onclick="openWindow()" value="open" style="margin-left:100px;margin-top:100px;"/>
<div id="dialog" class="dialogStyle" style="width:200px;height:200px;">
<input type="button" value="close" onclick="closeWindow()"/>
</div>
<div id="shadow" class="shadowStyle">
</div>
<!--width:200px;height:200px;background:red;position:absolute;display:none;text-align:right;z-index:2;-->
<!--position:absolute;left:0px;top:0px;display:none;filter:alpha(opacity=30);opacity:0.3;background:gray;z-index:1;-->

<script>
window.onresize = function()
{
reSizeWindow();
}
window.onscroll = function()
{
reSizeWindow();
}
for(var i = 0;i < 100;i++)
{
document.write("<br/>"+i);
}
</script>
</body>
</html>
CloudX2019 2012-04-27
  • 打赏
  • 举报
回复
页面比较简陋

其实只要把3个样式拿去就可以了
CloudX2019 2012-04-27
  • 打赏
  • 举报
回复

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>测试首页</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">

<script src="js/jquery-1.3.2.js" type="text/javascript" language="javascript"></script>
<style type="text/css">
a{color:blue;}
#divBgReg{
background:#FFFFFF none repeat scroll 0 0;
height:100%;
left:0;
top:0;
width:100%;
filter:alpha(opacity=80);/* IE */
-moz-opactiy:0.8; /* Moz + FF */
z-index=:10000;
}
#divReg{
width:326px;
height:306px;
margin:-200px 0 0 -200px;
left:50%;
top:50%;
position:absolute;
background:#FFF;
z-index:10001;
border:3px solid #1B5BAC;
}
#divClose{
text-align:right;
background:D4D0C8;
right:10px;
top:10px;
width:100%;
height:20px;
overflow:hidden;
cursor:pointer;
}
</style>
<script type="text/javascript">
function myReg(){
$("#divReg").show();
$("#divBgReg").show();
}
function closeReg(){
$("#divReg").hide()
$("#divBgReg").hide();
}
function checkReg(myForm){
if(!checkNull(myForm)){
return false;
}
if(myForm.Rpass.value==null || myForm.Rpass.value==""){
alert("重复密码不能为空");
myForm.Rpass.focus();
return false;
}
if(myForm.Rpass.value!=myForm.userpass.value){
alert("重复密码与密码不一致");
return false;
}
return true;
}
function checkNull(myForm){
if(myForm.username.value==null || myForm.username.value==""){
alert("用户名不能为空");
myForm.username.focus();
return false;
}
if(myForm.userpass.value==null || myForm.userpass.value==""){
alert("密码不能为空");
myForm.userpass.focus();
return false;
}
return true;
}
function check(){
var sel = document.getElementById("abc");
for(var i=0 ;i<sel.options.length;i++){
if(sel.options[i].value==3){
sel.options[i].selected=true;
}
}
}
</script>
</head>

<body style="text-align:center;">
<div id="divReg" style="display:none;">
<div id="divClose"><a href="#" onclick="closeReg()">关闭</a></div>
<div id="divRegContent" style="align:center;">
<form name="regForm" action="" onsubmit="return checkReg(this)" method="post">
<table style="height:200;width:250;" >
<thead>
<th colspan="2"></th>
</thead>
<tr>
<td width="30%">用户名</td>
<td width="70%"><input type="text" name="username"/></td>
</tr>
<tr>
<td width="30%">密  码</td>
<td width="70%"><input name="userpass" type="password"/></td>
</tr>
<tr>
<td width="30%">重复密码</td>
<td width="70%"><input name="Rpass" type="password"/></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value=" 注 册 "></td>
</tr>
</table>
</form>
</div>
</div>
<div id="divBgReg" style="position:absolute;display:none;"></div>
这个是首页<br>
<form action="" name="loginForm" onsubmit="return checkNull(this)" method="post">
用户名:<input type="text" name="username" /><br><br>
密  码:<input type="password" name="userpass" /><br><br>
<input type="submit" value=" 登 录 " />  <input type="button" value=" 注 册 " onclick="myReg()" />
</form>
</body>
</html>
zkf53064 2012-04-27
  • 打赏
  • 举报
回复
好像是一个方法,那事实是这么实现的么?
CloudX2019 2012-04-27
  • 打赏
  • 举报
回复

写一个div1 将页面覆盖
然后在这个div1上面一层在加一个div2
div2的内容 自己写
zkf53064 2012-04-27
  • 打赏
  • 举报
回复
我不知道你说的模态窗口是什么东西,
是像确认框那种么 但是内容是自已指定的,
是不是?
liuzhong0 2012-04-27
  • 打赏
  • 举报
回复
那你其实可以写一个弹出窗口是模态的不就行了吗?
Node.js 是一个开源与跨平台的 JavaScript 运行时环境。 它是一个可用于几乎任何项目的流行工具!   Node.js 在浏览器外运行 V8 JavaScript 引擎(Google Chrome 的内核)。 这使 Node.js 表现得非常出色。   Node.js 应用程序运行于单个进程中,无需为每个请创建新的线程。 Node.js 在其标准库中提供了一组异步的 I/O 原生功能(用以防止 JavaScript 代码阻塞),并且 Node.js 中的库通常是使用非阻塞的范式编写的(从而使阻塞行为成为外而不是规范)。   当 Node.js 执行 I/O 操作时(如从网络读取、访问数据库或文件系统),Node.js 会在响应返回时恢复操作,而不是阻塞线程并浪费 CPU 循环等待。   这使 Node.js 可以在一台服务器上处理数千个并发连接,而无需引入管理线程并发的负担(这可能是重大 bug 的来源)。   Node.js 具有独特的优势,因为为浏览器编写 JavaScript 的数百万前端开发者现在除了客户端代码之外还可以编写服务器端代码,而无需学习完全不同的语言。   在 Node.js 中,可以毫无问题地使用新的 ECMAScript 标准,因为不必等待所有用户更新其浏览器,你可以通过更改 Node.js 版本来决定要使用的 ECMAScript 版本,并且还可以通过运行带有标志的 Node.js 来启用特定的实验中的特性。   大量的库 npm 的简单结构有助于 Node.js 生态系统的激增,现在 npm 仓库托管了超过 1,000,000 个可以自由使用的开源库包。   Node.js 应用程序的示 Node.js zui常见的 Hello World 示是 Web 服务器:   const http = require('http')const hostname = '127.0.0.1'const port = 3000const server = http.createServer((req, res) => )server.listen(port, hostname, () => ) 此代码首先引入了 Node.js http 模块。   Node.js 具有出色的标准库,包括对网络的一.流支持。   http 的 createServer() 方法会创建新的 HTTP 服务器并返回它。   服务器被设置为监听指定的端口和主机名。 当服务器就绪后,回调函数会被调用,在此示中会通知我们服务器正在运行。   每当接收到新的请时,request 事件会被调用,并提供两个对象:一个请(http.IncomingMessage 对象)和一个响应(http.ServerResponse 对象)。   这两个对象对于处理 HTTP 调用至关重要。   第一个对象提供了请的详细信息。 在这个简单的示中没有使用它,但是你可以访问请头和请数据。   第二个对象用于返回数据给调用方。   在此示中:   res.statusCode = 200 设置 statusCode 属性为 200,以表明响应成功。   设置 Content-Type 响应头:   res.setHeader('Content-Type', 'text/plain') 关闭响应,添加内容作为 end() 的参数:   res.end('你好世界n') Node.js 框架和工具 Node.js 是一个底层的平台。 为了使开发者做事变得容易又来劲,社区在 Node.js 上构建了数千个库。   久而久之,其中许多已成为受欢迎的选择。 以下是一些值得学习的清单:   AdonisJs: 一个全栈框架,高度专注于开发者的效率、稳定和信任。 Adonis 是zui快的 Node.js Web 框架之一。   Express: 提供了创建 Web 服务器的zui简单但功能zui强大的方法之一。 它的极简主义方法,专注于服务器的核心功能,是其成功的关键。   Fastify: 一个 Web 框架,高度专注于提供zui佳的开发者体验(以zui少的开销和强大的插件架构)。 Fastify 是zui快的 Node.js Web 框架之一。   Gatsby: 一个基于 React、由 GraphQL 驱动的静态网站生成器,具有非常丰富的插件和启动器生态系统。   hapi: 一个富框架,用于构建应用程序和服务,使开发者可以专注于编写可重用的应用程序逻辑,而不必花费时间来搭建基础架构。   koa: 由 Express 背后的同一个团队构建,旨在变得更简单更轻巧。 新项目的诞生是为了满足创建不兼容的更改而又不破坏现有社区。   Loopback.io: 使构建需要复杂集成的现代应用程序变得容易。   Meteor: 一个强大的全栈框架,以同构的方式使用 JavaScript 构建应用(在客户端和服务器上共享代码)。 曾经是提供所有功能的现成工具,现在可以与前端库 React,Vue 和 Angular 集成。 也可以用于创建移动应用。   Micro: 提供了一个非常轻量级的服务器,用于创建异步的 HTTP 微服务。   NestJS: 一个基于 TypeScript 的渐进式 Node.js 框架,用于构建企业级的高效、可靠和可扩展的服务器端应用程序。   Next.js: 一个 React 框架,可为你提供生产所需的所有功能的zui佳开发者体验:混合静态和服务器渲染、TypeScript 支持、智能捆绑、路由预取等。   Nx: 使用 NestJS、Express、React、Angular 等进行全栈开发的工具包! Nx 有助于将开发工作从一个团队(构建一个应用程序)扩展到多个团队(在多个应用程序上进行协作)!   Sapper: Sapper 是一个用于构建各种规模的 Web 应用程序的框架,具有出色的开发体验和灵活的基于文件系统的路由。还提供 S.S.R等!   Socket.io: 一个实时通信引擎,用于构建网络应用程序。   Strapi: Strapi 是一个灵活的开源 Headless CMS,可使开发者可以自由选择自己喜欢的工具和框架,同时还允许编辑人员轻松地管理和分发其内容。 通过使管理面板和 API 可以通过插件系统进行扩展,Strapi 使全球zui大的公司能够加速内容交付,同时构建优美的数字体验。

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧