利用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 对象成员的可见性说明
Oct 16 Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
Google AJAX 搜索 API实现代码
Nov 17 Javascript
js自定义方法通过隐藏iframe实现文件下载
Feb 21 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
Jan 04 Javascript
微信小程序实战之自定义模态弹窗(8)
Apr 18 Javascript
js调用刷新界面的几种方式
May 03 Javascript
Angular实现的简单查询天气预报功能示例
Dec 27 Javascript
vue文件树组件使用详解
Mar 29 Javascript
对Vue table 动态表格td可编辑的方法详解
Aug 28 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
Mar 07 Javascript
vue中的 $slot 获取插槽的节点实例
Nov 12 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 图像尺寸调整代码
2010/05/26 PHP
PHP优于Node.js的五大理由分享
2012/09/15 PHP
php中unlink()、mkdir()、rmdir()等方法的使用介绍
2012/12/21 PHP
APACHE的AcceptPathInfo指令使用介绍
2013/01/18 PHP
php实现的一个很好用HTML解析器类可用于采集数据
2013/09/23 PHP
PHP将URL转换成短网址的算法分享
2016/09/13 PHP
laravel框架创建授权策略实例分析
2019/11/22 PHP
firefox火狐浏览器与与ie兼容的2个问题总结
2010/07/20 Javascript
8个实用的jQuery技巧
2014/03/04 Javascript
node.js中的http.response.getHeader方法使用说明
2014/12/14 Javascript
jQuery过滤选择器详解
2015/01/13 Javascript
JavaScript在浏览器标题栏上显示当前日期和时间的方法
2015/03/19 Javascript
JavaScript把数组作为堆栈使用的方法
2015/03/20 Javascript
常用的javascript设计模式
2017/01/11 Javascript
Vue组件模板形式实现对象数组数据循环为树形结构(实例代码)
2017/07/31 Javascript
jquery实现用户登陆界面(示例讲解)
2017/09/06 jQuery
vue cli升级webapck4总结
2018/04/04 Javascript
ES6 Object方法扩展的应用实例分析
2019/06/25 Javascript
Django视图和URL配置详解
2018/01/31 Python
Python设计模式之职责链模式原理与用法实例分析
2019/01/11 Python
python 实现一次性在文件中写入多行的方法
2019/01/28 Python
Python对Tornado请求与响应的数据处理
2020/02/12 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
canvas 如何绘制线段的实现方法
2018/07/12 HTML / CSS
美国购买体育、音乐会和剧院门票网站:SelectATicket
2019/09/08 全球购物
美国领先的宠物用品和宠物食品零售商:Petco
2020/10/28 全球购物
优秀教师先进事迹
2014/01/22 职场文书
开展党的群众路线教育实践活动方案
2014/02/05 职场文书
《黄河颂》教学反思
2014/02/07 职场文书
《孙权劝学》教学反思
2014/04/23 职场文书
体育专业自荐书
2014/05/29 职场文书
领导班子对照检查剖析材料
2014/10/13 职场文书
个人整改方案范文
2014/10/25 职场文书
2015年五一劳动节慰问信
2015/03/23 职场文书
导游词之清晏园
2019/11/22 职场文书
Java中的继承、多态以及封装
2022/04/11 Java/Android