利用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 相关文章推荐
jQuery 1.0.2
Oct 11 Javascript
让回调函数 showResponse 也带上参数的代码
Aug 13 Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 Javascript
JavaScript实现梯形乘法表的方法
Apr 25 Javascript
JavaScript浮点数及运算精度调整详解
Oct 21 Javascript
vue实现app页面切换动画效果实例
May 23 Javascript
微信小程序 侧滑删除(左滑删除)
May 23 Javascript
详解Angular4 路由设置相关
Aug 26 Javascript
使用store来优化React组件的方法
Oct 23 Javascript
基于javascript中的typeof和类型判断(详解)
Oct 27 Javascript
vue 插件的方法代码详解
Jun 06 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
Aug 24 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
改造一台复古桌面收音机
2021/03/02 无线电
PHP中配置IIS7实现基本身份验证的方法
2015/09/24 PHP
php微信开发自定义菜单
2016/08/27 PHP
PHP面向对象程序设计之构造方法和析构方法详解
2019/06/13 PHP
PHP7移除的扩展和SAPI
2021/03/09 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
基于Jquery与WebMethod投票功能实现代码
2011/01/19 Javascript
父元素与子iframe相互获取变量和元素对象的具体实现
2013/10/15 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
在JavaScript中使用NaN值的方法
2015/06/05 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
jQuery插件echarts实现的去掉X轴、Y轴和网格线效果示例【附demo源码下载】
2017/03/04 Javascript
详解vue嵌套路由-query传递参数
2017/05/23 Javascript
vue页面切换到滚动页面显示顶部的实例
2018/03/13 Javascript
详解extract-text-webpack-plugin 的使用及安装
2018/06/12 Javascript
怎样使你的 JavaScript 代码简单易读(推荐)
2019/04/16 Javascript
微信小程序顶部导航栏可滑动并选中放大
2019/12/05 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
[01:11:11]Alliance vs RNG 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
从CentOS安装完成到生成词云python的实例
2017/12/01 Python
Python如何抓取天猫商品详细信息及交易记录
2018/02/23 Python
python+opencv实现高斯平滑滤波
2020/07/21 Python
使用Python的turtle模块画国旗
2019/09/24 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
Python使用Turtle模块绘制国旗的方法示例
2021/02/28 Python
HTML5+CSS3网页加载进度条的实现,下载进度条的代码实例
2016/12/30 HTML / CSS
HTML如何让IMG自动适应DIV容器大小的实现方法
2020/02/25 HTML / CSS
amazeui时间组件的实现示例
2020/08/18 HTML / CSS
Tomcat Mysql datasource数据源配置
2015/12/28 面试题
为什么要用EJB
2014/04/17 面试题
八年级语文教学反思
2014/02/11 职场文书
团支书竞选演讲稿
2014/04/28 职场文书
公司员工违法违章行为检讨书
2019/06/24 职场文书
Ajax是什么?Ajax高级用法之Axios技术
2021/04/21 Javascript
聊聊JS ES6中的解构
2021/04/29 Javascript
如何使用flask将模型部署为服务
2021/05/13 Python