利用javascript打开模态对话框(示例代码)

来源:脚本之家  责任编辑:小易  

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 
('//www.zgxue.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中,模态对话框会隐藏地址栏,而在其他浏览器则不一定



【注意】在谷歌浏览器中,这个模态的效果也会失效。

5. 一般在弹出对话框的时候,我们都希望整个父页面的背景变为一个半透明的颜色,让用户看到后面是不可以访问的

而关闭对话框之后又希望还原

这是怎么做到的呢?
复制代码 代码如下:
        ///显示某个订单的详细信息,通过一个模态对话框,而且屏幕会变颜色
        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>

您可能感兴趣的文章:


  • 本文相关:
  • 九种js弹出对话框的方法总结
  • javascript弹出对话框的三种方式
  • extjs ext.messagebox.alert()弹出对话框详解
  • javascript window.confirm确认 取消对话框实现代码小结
  • javascript写的一个自定义弹出式对话框代码
  • extjs ext.messagebox.confirm 确认对话框详解
  • js弹出确认是否删除对话框
  • javascript showmodaldialog模态对话框使用说明
  • javascript 选择文件夹对话框(web)
  • js+html5生成自动排列对话框实例
  • 通过伪协议解决父页面与iframe页面通信的问题
  • js实现pastehtml兼容ie,firefox,chrome的方法
  • 使用原生js写ajax实例(推荐)
  • 页面使用密码保护代码
  • 轻松实现javascript数据双向绑定
  • react中嵌套组件与被嵌套组件的通信过程
  • js实现的json序列化操作简单示例
  • js动态创建dom元素的方法
  • 用xhtml+css写的相册自适应 - 类似九宫格[兼容 ff ie6 ie7 opea
  • javascript 去除数组的重复元素
  • 免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved