利用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实现的抽象CSS圆角效果!!
May 03 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
解析img图片没找到onerror事件 Stack overflow at line: 0
Dec 23 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
Jun 08 Javascript
JavaScript导航脚本判断当前导航
Jul 12 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
简单实现js进度条加载效果
Mar 25 Javascript
AngularJS 打开新的标签页实现代码
Sep 07 Javascript
Vue Promise的axios请求封装详解
Aug 13 Javascript
Vue $mount实战之实现消息弹窗组件
Apr 22 Javascript
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
Feb 06 Javascript
Javascript生成器(Generator)的介绍与使用
Jan 31 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学习之php4与php5之间会穿梭一点点感悟
2007/05/03 PHP
php中FTP函数ftp_connect、ftp_login与ftp_chmod用法
2014/11/18 PHP
php把大写命名转换成下划线分割命名
2015/04/27 PHP
phpQuery采集网页实现代码实例
2020/04/02 PHP
JQuery 图片滚动轮播示例代码
2014/03/24 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
jQuery中:image选择器用法实例
2015/01/03 Javascript
JS实现同时搜索百度和必应的方法
2015/01/27 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
js检测iframe是否加载完成的方法
2015/11/26 Javascript
json实现添加、遍历与删除属性的方法
2016/06/17 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
详解angular中通过$location获取路径(参数)的写法
2017/03/21 Javascript
js学习总结_选项卡封装(实例讲解)
2017/07/13 Javascript
小程序hover-class点击态效果实现
2019/02/26 Javascript
layui中select,radio设置不生效的解决方法
2019/09/05 Javascript
Vue 实现创建全局组件,并且使用Vue.use() 载入方式
2020/08/11 Javascript
[02:28]DOTA2英雄基础教程 灰烬之灵
2013/12/19 DOTA
[01:02:30]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python线程的两种编程方式
2015/04/14 Python
Python聚类算法之基本K均值实例详解
2015/11/20 Python
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python语言实现将图片转化为html页面
2017/12/06 Python
Python运行不显示DOS窗口的解决方法
2018/10/22 Python
python xpath获取页面注释的方法
2019/01/14 Python
酒店总经理职务说明书
2014/02/26 职场文书
财产保全担保书范文
2014/04/01 职场文书
公司领导九九重阳节发言稿2014
2014/09/25 职场文书
个人对照检查材料思想汇报(四风问题)
2014/09/25 职场文书
2015年推广普通话演讲稿
2015/03/20 职场文书
2015年学校总务处工作总结
2015/05/19 职场文书
归途列车观后感
2015/06/17 职场文书
Java基础-封装和继承
2021/07/02 Java/Android
5道关于python基础 while循环练习题
2021/11/27 Python