利用javascript打开模态对话框(示例代码)


Posted in Javascript onJanuary 11, 2014

1. 标准的方法

<script type="text/javascript">   
function openWin(src, width, height, showScroll){   
window.showModalDialog (src,"","location:No;status:No;help:No;dialogWidth:"+width+";dialogHeight:"+height+";scroll:"+showScroll+";");   
}   
</script> 

例:<span style="CURSOR: pointer" onclick="openWin 
('https://3water.com', '500px', '400px', 'no')">点击</span> 

2. 要注意的是,Firefox并不支持该功能,它支持的语法是

window.open 
('openwin.html','newWin', 'modal=yes, width=200,height=200,resizable=no, scrollbars=no' ); 

3. 如何自动判断浏览器

<input type="button" value="打开对话框" onclick="showDialog('#')"/>  
  <SCRIPT   LANGUAGE="JavaScript">  
  <!--  
  function   showDialog(url)  
  {  
   if(   document.all   ) //IE  
   {  
   feature="dialogWidth:300px;dialogHeight:200px;status:no;help:no";  
   window.showModalDialog(url,null,feature);  
   }  
   else  
   {  
     //modelessDialog可以将modal换成dialog=yes  
   feature ="width=300,height=200,menubar=no,toolbar=no,location=no,";  
   feature+="scrollbars=no,status=no,modal=yes";    
   window.open(url,null,feature);  
   }  
  }  
  //-->  
</SCRIPT>

4. 在IE中,模态对话框会隐藏地址栏,而在其他浏览器则不一定

利用javascript打开模态对话框(示例代码)

利用javascript打开模态对话框(示例代码)

【注意】在谷歌浏览器中,这个模态的效果也会失效。

5. 一般在弹出对话框的时候,我们都希望整个父页面的背景变为一个半透明的颜色,让用户看到后面是不可以访问的

利用javascript打开模态对话框(示例代码)

而关闭对话框之后又希望还原

利用javascript打开模态对话框(示例代码)

这是怎么做到的呢?

        ///显示某个订单的详细信息,通过一个模态对话框,而且屏幕会变颜色
        function ShowOrderDetails(orderId) {
            var url = "details.aspx?orderID=" + orderId; 
//            $("body").css("filter", "Alpha(Opacity=20)");
            //filter:Alpha(Opacity=50) 
            $("body").addClass("body1"); 
            ShowDetailsDialog(url, "600px", "400px", "yes"); 
            $("body").removeClass("body1");
        }

另外,有一个样式表定义
.body1
{
    background-color:#999999;
    filter:Alpha(Opacity=40);
}
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <style type="text/css">
    .body1{
        background-color:#999999;
        filter:Alpha(Opacity=40);
    }
    </style>
    <script src="jquery.js" type="text/javascript"></script>
    <script type="text/javascript">
        function ShowDetailsDialog(src, width, height, showScroll) {
            window.showModalDialog(src, "", "location:No;status:No;help:NO;dialogWidth:" + width + ";dialogHeight:" + height + ";scroll" + showScroll + ";");
        }
        function ShowOrderDetails(orderId) {
            var url = 'Details.aspx?orderID=' + orderId;
            $("body").addClass("body1");
            ShowDetailsDialog(url, '500px', '400px', 'no');
            $("body").removeClass("body1");
        }
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <span style="cursor:pointer" onclick="ShowOrderDetails(11)" >点击</span>
    </div>
    </form>
</body>
</html>
Javascript 相关文章推荐
Prototype 工具函数 学习
Jul 23 Javascript
JavaScript 对象链式操作测试代码
Apr 25 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
May 12 Javascript
javascript的switch用法注意事项分析
Feb 02 Javascript
JQuery实现防止退格键返回的方法
Feb 12 Javascript
由ReactJS的Hello world说开来
Jul 02 Javascript
AngularJS入门教程之静态模板详解
Aug 18 Javascript
VsCode新建VueJs项目的详细步骤
Sep 23 Javascript
Javascript实现运算符重载详解
Apr 07 Javascript
vue2 中二级路由高亮问题及配置方法
Jun 10 Javascript
微信小程序开发搜索功能实现(前端+后端+数据库)
Mar 04 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
Apr 14 Javascript
showModalDialog模态对话框的使用详解以及浏览器兼容
Jan 11 #Javascript
JS对话框_JS模态对话框showModalDialog用法总结
Jan 11 #Javascript
Javascript自定义函数判断网站访问类型是PC还是移动终端
Jan 10 #Javascript
兼容主流浏览器的iframe自适应高度js脚本
Jan 10 #Javascript
javascript遍历控件实例详细解析
Jan 10 #Javascript
关闭ie窗口清除Session的解决方法
Jan 10 #Javascript
js出生日期 年月日级联菜单示例代码
Jan 10 #Javascript
You might like
php递归删除指定文件夹的方法小结
2015/04/20 PHP
Yii2.0 模态弹出框+ajax提交表单
2016/05/22 PHP
php解决和避免form表单重复提交的几种方法
2016/08/31 PHP
thinkPHP5.0框架独立配置与动态配置方法
2017/03/17 PHP
张孝祥JavaScript学习阶段性总结(2)--(X)HTML学习
2007/02/03 Javascript
利用jquery的获取JS文件中的字符串内容
2012/02/14 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
href下载文件根据id取url并下载
2014/05/28 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
jQuery 移动端artEditor富文本编辑器
2016/01/11 Javascript
JavaScript禁止用户多次提交的两种方法
2016/07/24 Javascript
Vue上传组件vue Simple Uploader的用法示例
2017/08/25 Javascript
bootstrap 点击空白处popover弹出框隐藏实例
2018/01/24 Javascript
原生JS实现的碰撞检测功能示例
2018/05/18 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
jQuery分组选择器简单用法示例
2019/04/04 jQuery
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
微信小程序用canvas画图并分享
2020/03/09 Javascript
element中Steps步骤条和Tabs标签页关联的解决
2020/12/08 Javascript
[53:10]Secret vs Pain 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Win7上搭建Cocos2d-x 3.1.1开发环境
2014/07/03 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
python制作小说爬虫实录
2017/08/14 Python
python+selenium+autoit实现文件上传功能
2017/08/23 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
Python爬虫制作翻译程序的示例代码
2021/02/22 Python
CSS3制作炫酷的自定义发光文字
2016/03/28 HTML / CSS
用html5的canvas和JavaScript创建一个绘图程序的简单实例
2016/07/06 HTML / CSS
英国国家美术馆商店:National Gallery
2019/05/01 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
电气自动化个人求职信范文
2014/02/03 职场文书
化学教学随笔感言
2014/02/19 职场文书
高中生操行评语
2014/04/25 职场文书
嘉宾邀请函
2015/01/31 职场文书
横店影视城导游词
2015/02/06 职场文书
PHP RabbitMQ消息列队
2022/05/11 PHP