利用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 相关文章推荐
百度留言本js 大家可以参考下
Oct 13 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
说说JSON和JSONP 也许你会豁然开朗
Sep 02 Javascript
PHP开发者必须掌握的6个关键字
Apr 14 Javascript
删除Javascript Object中间的key
Nov 18 Javascript
jquery实现浮动的侧栏实例
Jun 25 Javascript
浅析四种常见的Javascript声明循环变量的书写方式
Oct 14 Javascript
vue实现未登录跳转到登录页面的方法
Jul 17 Javascript
详解react native页面间传递数据的几种方式
Nov 07 Javascript
trackingjs+websocket+百度人脸识别API实现人脸签到
Nov 26 Javascript
js设置鼠标悬停改变背景色实现详解
Jun 26 Javascript
微信小程序吸底区域适配iPhoneX的实现
Apr 09 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
MySql 按时间段查询数据方法(实例说明)
2008/11/02 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
做了CDN获取用户真实IP的函数代码(PHP与Asp设置方式)
2013/04/13 PHP
php将文本文件转换csv输出的方法
2014/12/31 PHP
php实现计数器方法小结
2015/01/05 PHP
PHP实现验证码校验功能
2017/11/16 PHP
再次更新!MSClass (Class Of Marquee Scroll通用不间断滚动JS封装类 Ver 1.6)
2007/02/05 Javascript
利用js对象弹出一个层
2008/03/26 Javascript
Js 回车换行处理的办法及replace方法应用
2013/01/24 Javascript
JS定时刷新页面及跳转页面的方法
2013/07/04 Javascript
网页右侧悬浮滚动在线qq客服代码示例
2014/04/28 Javascript
javascript学习笔记(五)原型和原型链详解
2014/10/08 Javascript
JQuery自动触发事件的方法
2015/06/13 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
NodeJS基础API搭建服务器详细过程记录
2017/04/01 NodeJs
JavaScript实现打印星型金字塔功能实例分析
2017/09/27 Javascript
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
[01:19:23]2018DOTA2亚洲邀请赛 4.5 淘汰赛 Mineski vs VG 第二场
2018/04/06 DOTA
python判断字符串是否纯数字的方法
2014/11/19 Python
Python中的自省(反射)详解
2015/06/02 Python
Python的Django框架下管理站点的基本方法
2015/07/17 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
python中uuid模块实例浅析
2020/12/29 Python
python使用scapy模块实现ping扫描的过程详解
2021/01/21 Python
ReVive利维肤美国官网:RéVive Skincare
2018/04/18 全球购物
思想政治教育专业个人求职信范文
2013/12/20 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
报纸媒体创意广告词
2014/03/17 职场文书
合伙经营协议书范本
2014/04/18 职场文书
地质灾害防治方案
2014/05/14 职场文书
机械工程学院大学生求职信
2014/05/25 职场文书
违纪检讨书
2015/01/27 职场文书
教师求职自荐信
2015/03/26 职场文书
2015学校年度工作总结
2015/05/11 职场文书
Redis高级数据类型Hyperloglog、Bitmap的使用
2021/05/24 Redis
SpringBoot实现quartz定时任务可视化管理功能
2021/08/30 Java/Android