利用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 相关文章推荐
Ajax一统天下之Dojo整合篇
Mar 24 Javascript
jquery控制listbox中项的移动并排序
Nov 12 Javascript
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
利用js制作html table分页示例(js实现分页)
Apr 25 Javascript
jQuery 2.0.3 源码分析之core(一)整体架构
May 27 Javascript
JavaScript父子窗体间的调用方法
Mar 31 Javascript
全新打包工具parcel零配置vue开发脚手架
Jan 11 Javascript
js正则表达式校验指定字符串的方法
Jul 23 Javascript
vue中,在本地缓存中读写数据的方法
Sep 21 Javascript
微信小程序实现炫酷的弹出式菜单特效
Jan 28 Javascript
ES6基础之默认参数值
Feb 21 Javascript
小程序中this.setData的使用和注意事项
Aug 28 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中time()和mktime()方法的区别
2013/09/28 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十六)
2014/06/30 PHP
跟我学Laravel之快速入门
2014/10/15 PHP
php+xml实现在线英文词典之添加词条的方法
2015/01/23 PHP
php连接微软MSSQL(sql server)完全攻略
2016/11/27 PHP
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
ModelDialog JavaScript模态对话框类代码
2011/04/17 Javascript
jquery实现点击文字可编辑并修改保存至数据库
2014/04/15 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
浅析jQuery移动开发中内联按钮和分组按钮的编写
2015/12/04 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
2016/01/14 Javascript
使用CSS+JavaScript或纯js实现半透明遮罩效果的实例分享
2016/05/09 Javascript
Javascript获取图片原始宽度和高度的方法详解
2016/09/20 Javascript
Ext JS 实现建议词模糊动态搜索功能
2017/05/13 Javascript
JS实现动态无缝轮播
2020/01/11 Javascript
vue下拉刷新组件的开发及slot的使用详解
2020/12/23 Vue.js
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
基于python进行桶排序与基数排序的总结
2018/05/29 Python
Python多线程编程之多线程加锁操作示例
2018/09/06 Python
Python3实现的回文数判断及罗马数字转整数算法示例
2019/03/27 Python
python pytest进阶之fixture详解
2019/06/27 Python
使用PyTorch将文件夹下的图片分为训练集和验证集实例
2020/01/08 Python
python处理RSTP视频流过程解析
2020/01/11 Python
Python实现投影法分割图像示例(一)
2020/01/17 Python
如何通过Python3和ssl实现加密通信功能
2020/05/09 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
H5新属性audio音频和video视频的控制详解(推荐)
2016/12/09 HTML / CSS
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
事业单位分类改革实施方案
2014/03/21 职场文书
祖国在我心中演讲稿300字
2014/05/04 职场文书
工会换届选举方案
2014/05/21 职场文书
安全主题班会教案
2015/08/12 职场文书
2016秋季小学开学寄语
2015/12/03 职场文书
python Tkinter模块使用方法详解
2022/04/07 Python