利用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 实现的全选和反选
Apr 15 Javascript
利用javascript解决图片缩放及其优化的代码
May 23 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
Dec 25 Javascript
浅谈javascript中的闭包
May 13 Javascript
jquery过滤特殊字符',防sql注入的实现方法
Aug 17 Javascript
简单实现AngularJS轮播图效果
Apr 10 Javascript
Angular5中提取公共组件之radio list的实例代码
Jul 10 Javascript
vue基础之模板和过滤器用法实例分析
Mar 12 Javascript
Echarts实现多条折线可拖拽效果
Dec 19 Javascript
vue实现虚拟列表功能的代码
Jul 28 Javascript
Vue 修改网站图标的方法
Dec 31 Vue.js
JavaScript展开运算符和剩余运算符的区别详解
Feb 18 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实现使用优酷土豆视频地址获取swf播放器分享地址
2014/06/05 PHP
详解phpstorm2020最新破解方法
2020/09/17 PHP
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
JavaScript每天定时更换皮肤样式的方法
2015/07/01 Javascript
初识angular框架后的所思所想
2016/02/19 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
jQuery模拟select实现下拉菜单功能
2016/06/20 Javascript
js实现多图左右切换功能
2016/08/04 Javascript
详解vue.js下引入百度地图jsApi的两种方法
2018/07/27 Javascript
移动端底部导航固定配合vue-router实现组件切换功能
2019/06/13 Javascript
jquery实现商品sku多属性选择功能(商品详情页)
2019/12/20 jQuery
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
vue自定义树状结构图的实现方法
2020/10/18 Javascript
深入讲解Python编程中的字符串
2015/10/14 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
Python实现基于KNN算法的笔迹识别功能详解
2018/07/09 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
Django使用模板后无法找到静态资源文件问题解决
2019/07/19 Python
python多继承(钻石继承)问题和解决方法简单示例
2019/10/21 Python
Python+pyftpdlib实现局域网文件互传
2020/08/24 Python
出门问问全球官方商城:Tichome音箱和TicWatch智能手表
2017/12/02 全球购物
英国DIY和家居装饰领域的主要品牌:Wickes
2019/11/26 全球购物
人事行政主管岗位职责
2013/12/22 职场文书
会计专业职业规划:规划自我赢取未来
2014/02/12 职场文书
三八妇女节活动主持词
2014/03/17 职场文书
幼儿教师寄语集锦
2014/04/03 职场文书
网络技术专业求职信
2014/05/02 职场文书
学生手册评语
2014/05/05 职场文书
2016年共产党员个人承诺书
2016/03/24 职场文书
如何撰写促销方案?
2019/07/05 职场文书
fastdfs+nginx集群搭建的实现
2021/03/31 Servers
Java常用工具类汇总 附示例代码
2021/06/26 Java/Android
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
PHP RabbitMQ消息列队
2022/05/11 PHP
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技
Python如何将list中的string转换为int
2022/07/15 Ruby