利用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 文字符串转换unicode编码函数
May 30 Javascript
Javascript Math ceil()、floor()、round()三个函数的区别
Mar 09 Javascript
javascript基本类型详解
Nov 28 Javascript
JS实现的网页背景闪电闪烁效果代码
Oct 17 Javascript
Bootstrap模块dropdown实现下拉框响应
May 22 Javascript
Bootstrap零基础学习第一课之模板
Jul 18 Javascript
JavaScript之iterable_动力节点Java学院整理
Jun 29 Javascript
Vue框架之goods组件开发详解
Jan 25 Javascript
Vue项目全局配置微信分享思路详解
May 04 Javascript
JavaScript中concat复制数组方法浅析
Jan 20 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
Jan 23 Javascript
vue实现input输入模糊查询的三种方式
Aug 14 Vue.js
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
星际争霸, 教主第一视角, ZvT经典龙蛇演义
2020/03/02 星际争霸
PHP 在线翻译函数代码
2009/05/07 PHP
php 学习资料零碎东西
2010/12/04 PHP
解析thinkphp的左右值无限分类
2013/06/20 PHP
php基于websocket搭建简易聊天室实践
2016/10/24 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
Jquery常用技巧收集整理篇
2010/11/14 Javascript
JQuery学习笔录 简单的JQuery
2012/04/09 Javascript
关于图片的预加载过程中隐藏未知的
2012/12/19 Javascript
利用JQuery动画制作滑动菜单项效果实现步骤及代码
2013/02/07 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
浅谈JavaScript中的作用域和闭包问题
2015/07/07 Javascript
快速解决Canvas.toDataURL 图片跨域的问题
2016/05/10 Javascript
JS数组返回去重后数据的方法解析
2017/01/03 Javascript
微信小程序 UI与容器组件总结
2017/02/21 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
JavaScript模块详解
2017/12/18 Javascript
bootstrap table支持高度百分比的实例代码
2018/02/28 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
VUE动态生成word的实现
2020/07/26 Javascript
[48:12]Secret vs Optic Supermajor 胜者组 BO3 第三场 6.4
2018/06/05 DOTA
python 通过logging写入日志到文件和控制台的实例
2018/04/28 Python
python实现键盘控制鼠标移动
2020/11/27 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
基于keras 模型、结构、权重保存的实现
2020/01/24 Python
对Python中 \r, \n, \r\n的彻底理解
2020/03/06 Python
python中怎么表示空值
2020/06/19 Python
10款最佳Python开发工具推荐,每一款都是神器
2020/10/15 Python
美国知名的百货清仓店:Neiman Marcus Last Call
2016/08/03 全球购物
澳大利亚冒险体验:Adrenaline(跳伞、V8赛车、热气球等)
2017/09/18 全球购物
小学生勤俭节约演讲稿
2014/08/28 职场文书
完整版商业计划书
2014/09/15 职场文书
2014年小学教师工作自我评价
2014/09/22 职场文书
慰问信范文
2015/02/14 职场文书
Redis监控工具RedisInsight安装与使用
2022/03/21 Redis
python Tkinter模块使用方法详解
2022/04/07 Python