利用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 相关文章推荐
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
JMenuTab简单使用说明
Mar 13 Javascript
DB.ASP 用Javascript写ASP很灵活很好用很easy
Jul 31 Javascript
如何使Chrome控制台支持多行js模式——意外发现
Jun 13 Javascript
使用js实现数据格式化
Dec 03 Javascript
Javascript中call,apply,bind方法的详解与总结
Dec 12 Javascript
详解如何较好的使用js
Dec 16 Javascript
解决Webpack 热部署检测不到文件变化的问题
Feb 22 Javascript
vue文件树组件使用详解
Mar 29 Javascript
vue中keep-alive组件的入门使用教程
Jun 06 Javascript
vue-cli设置publicPath小记
Apr 14 Javascript
VUE解决跨域问题Access to XMLHttpRequest at
May 06 Vue.js
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
短波问题解答
2021/02/28 无线电
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
php curl 获取https请求的2种方法
2015/04/27 PHP
php实现读取和写入tab分割的文件
2015/06/01 PHP
在laravel框架中使用model层的方法
2019/10/08 PHP
使用JavaScript 实现各种跨域的方法
2013/05/08 Javascript
js禁止页面使用右键(简单示例代码)
2013/11/13 Javascript
JavaScript中return false的用法
2015/03/12 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
jquery通过name属性取值的简单实现方法
2016/06/20 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
JS实现身份证输入框的输入效果
2017/08/21 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
vue组件的写法汇总
2018/04/12 Javascript
详解vue-router传参的两种方式
2018/09/10 Javascript
react项目如何使用iconfont的方法步骤
2019/03/13 Javascript
[47:43]完美世界DOTA2联赛PWL S3 Magama vs GXR 第二场 12.19
2020/12/24 DOTA
python通过索引遍历列表的方法
2015/05/04 Python
python中map()与zip()操作方法
2016/02/27 Python
Python数据分析之真实IP请求Pandas详解
2016/11/18 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
pygame实现烟雨蒙蒙下彩虹雨
2019/11/11 Python
python 实现多线程下载视频的代码
2019/11/15 Python
Python转换字典成为对象,可以用&quot;.&quot;方式访问对象属性实例
2020/05/11 Python
使用CSS3的rem属性制作响应式页面布局的要点解析
2016/05/24 HTML / CSS
HTML5 Canvas中绘制矩形实例
2015/01/01 HTML / CSS
SKECHERS官方旗舰店:美国舒适运动休闲品牌
2017/12/22 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
电信专业毕业生推荐信
2013/11/18 职场文书
地球物理学专业推荐信
2014/09/08 职场文书
群众路线查摆问题整改措施思想汇报
2014/10/10 职场文书
办公室年度工作总结2015
2015/05/21 职场文书
天气温馨提示语
2015/07/14 职场文书
python通过函数名调用函数的几种方法总结
2021/06/07 Python
Python自动化工具之实现Excel转Markdown表格
2022/04/08 Python