`
wangyi529
  • 浏览: 34120 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类

Javascript提示窗口并实现模式窗口功能

阅读更多
提示窗口的界面:




 
 img{
     border:0px;
 }
 
 #overlay{
     position: absolute;
     top: 0;
     left: 0;
     z-index: 99;
     width: 100%;
     height: 500px;
     background-color: #000;
     filter:alpha(opacity=70);
     -moz-opacity: 0.6;
     opacity: 0.6;
 }
 
 .floatDiv{
     padding:0 0 0 0;    
     position:absolute; 
     width:300px; 
     margin:0 0 0 0; 
     z-index:100;
     border:1px solid #DADADA; 
     background:#FFF; padding:1px;
 }
 
 .floatDiv .divTitle{
     background:#E0E0E0 url('../images/dragForm/title_bg.gif');
     background-position:top left;
     background-repeat:repeat-x;
     height:25px;
     line-height:25px;
     padding:0px 4px;
     cursor:default;
 }
 
 .floatDiv .divContent{
     padding:3px; 
     min-height:100px;
     height:auto; cursor:default;
 }
 
 .floatDiv .divFoot{
     background:#F0F0F0; 
     text-align:right; 
     padding:4px;
     background:#E0E0E0 url('../images/dragForm/bottom_bg.gif');
     background-position:top left;
     background-repeat:repeat-x;
 }
 
 .floatDiv input.divButton{
     background:#E0E0E0 url('../images/dragForm/button_bg.gif');
     background-position:top left;
     background-repeat:repeat-x;
     border:1px solid #D1D3D2;
     height:21px;
     font-size:12px;
     padding:2px 5px;
     color:#626264;
 }
 


function $(_sId)
{return document.getElementById(_sId);}
  
function moveDiv(event, _sId)
{
    var oObj = $(_sId);    
    oObj.onmousemove = mousemove;
    oObj.onmouseup = mouseup;
    oObj.setCapture ? oObj.setCapture() : function(){};
    oEvent = window.event ? window.event : event;
    var dragData = {x : oEvent.clientX, y : oEvent.clientY};
    var backData = {x : parseInt(oObj.style.top), y : parseInt(oObj.style.left)};
   
    function mousemove()
    {
        var oEvent = window.event ? window.event : event;
        var iLeft = oEvent.clientX - dragData["x"] + parseInt(oObj.style.left);
        var iTop = oEvent.clientY - dragData["y"] + parseInt(oObj.style.top);
        oObj.style.left = iLeft;
        oObj.style.top = iTop;
        dragData = {x: oEvent.clientX, y: oEvent.clientY};  
    }
   
    function mouseup()
    {
        var oEvent = window.event ? window.event : event;
        oObj.onmousemove = null;
        oObj.onmouseup = null;
        if(oEvent.clientX < 1 || oEvent.clientY < 1)
        {
            oObj.style.left = backData.y;
            oObj.style.top = backData.x;
        }
            oObj.releaseCapture ? oObj.releaseCapture() : function(){};
    }
}

function closeDiv(_sID)
{
    var oObj = $(_sID);
    var overlay = $("overlay");    
    if(overlay != null)
    {
        overlay.outerHTML = "";
    }
    oObj.style.display = "none";
    
}

function showDiv(_sID,event)
{
    var arrySize = getPageSize();
    var oObj = $(_sID);
    //创建一个DIV,改名为 overlay 这个是透明的层    
    var oDiv =document.createElement("div");
    oDiv.id = "overlay";
    document.body.appendChild(oDiv);
    var overlay = $("overlay");
    overlay.style.height = arrySize[1];
    overlay.style.width = arrySize[0];
    //alert(arrySize[1]);    
    if(event == null)
    {
        if(oObj.style.left == "")
        {
            oObj.style.left = arrySize[0] / 2 - 150 ;
        }
        
        if(oObj.style.top == "")
        {
            oObj.style.top =  arrySize[0] / 2;
        }        
    }
    else
    {        
        var iEvent= window.event ? window.event : event;        
        oObj.style.left = arrySize[0] / 2 - 150 ; // iEvent.clientX;
        oObj.style.top = arrySize[1] / 2 - 150 ;// iEvent.clientY;
        
    }
    
    oObj.style.display = "block";
    overlay.style.display = "block";
    overlay.style.zindex = oObj.style.zindex - 1;
}

//取得页面大小
function getPageSize(){
    
    var xScroll, yScroll;
    
    if (window.innerHeight && window.scrollMaxY) {    
        xScroll = document.body.scrollWidth;
        yScroll = window.innerHeight + window.scrollMaxY;
    } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
        xScroll = document.body.scrollWidth;
        yScroll = document.body.scrollHeight;
    } else { // Explorer Macwould also work in Explorer 6 Strict, Mozilla and Safari
        xScroll = document.body.offsetWidth;
        yScroll = document.body.offsetHeight;
    }
    
    var windowWidth, windowHeight;
    if (self.innerHeight) {    // all except Explorer
        windowWidth = self.innerWidth;
        windowHeight = self.innerHeight;
    } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
        windowWidth = document.documentElement.clientWidth;
        windowHeight = document.documentElement.clientHeight;
    } else if (document.body) { // other Explorers
        windowWidth = document.body.clientWidth;
        windowHeight = document.body.clientHeight;
    }    
    
    // for small pages with total height less then height of the viewport
    if(yScroll < windowHeight){
        pageHeight = windowHeight;
    } else { 
        pageHeight = yScroll;
    }

    // for small pages with total width less then width of the viewport
    if(xScroll < windowWidth){    
        pageWidth = windowWidth;
    } else {
        pageWidth = xScroll;
    }


    arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight) 
    return arrayPageSize;
}




<!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>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题 1</title>
<link href="styles/drag.css" rel="stylesheet" media="all" />
<script type="text/javascript" src="scripts/drag.js"></script>
</head>

<body>

<div id="main">
    <a href="javascript:showDiv('floatDiv');">show</a>
<input type="button" onclick="showDiv('floatDiv',event);" value="显示在这里" />

</div>
<div id="floatDiv" class="floatDiv" style="display:none;">
    <div class="divTitle" onmousedown="moveDiv(event,'floatDiv');">
        <div style="float:left; width:250px;">提示窗口</div>
        <div style="float:right;text-align:right; height:25px;" >
            <a href="javascript:;" onclick="closeDiv('floatdiv');"><img src="images/dragform/ico_close.gif" onmouseout="this.src='images/dragform/ico_close.gif';" onmousemove="this.src='images/dragform/ico_close1.gif';" align="absmiddle" alt="关闭" /></a>
        </div>        
    </div>
    <div class="divContent" >
        <p>以前自已也有一个博客,写了300多篇,后面工作以后就没有再写了。不知道是不是因为懒了,还是工作太忙的原因,呵呵 
cnBlogs的博客圈子不错,所以我也插进来,希望能够认识更多业内的朋友。 
    </p>
    </div>
    <div class="divFoot">
        <input type="button" class="divButton" value="确 定" /> <input type="button" class="divButton" onclick="closeDiv('floatdiv')" value="取 消" />
    </div>
</div>
</body>

</html>



  • 大小: 25.5 KB
分享到:
评论

相关推荐

    javascript弹出窗口问题总结

    javascript弹出窗口问题总结 1.无提示刷新网页 2.javascript刷新页面的方法 3.javascript弹出窗口代码 4.模式窗口数据不刷新(缓存)问题 5.模式窗口中,链接弹出新窗口问题 6.无提示关闭页面的方法

    JavaScript实现提交模式窗口后刷新父窗口数据的方法

    本文实例讲述了JavaScript实现提交模式窗口后刷新父窗口数据的方法。分享给大家供大家参考,具体如下: 有些时间,按需求设计,一个窗口中,点击按扭,弹出模式窗口,在模式窗口中,添加完数据后(提交),关闭模式...

    程序天下:JavaScript实例自学手册

    12.23 获取模式窗口的值 第13章 日期和时间特效 13.1 指定时间关闭页面 13.2 最简单的时间日期特效 13.3 最简单的获取时间的方法 13.4 随日期变换的文本 13.5 输入框的默认值为今天 13.6 时间相加 13.7 5秒后消失的...

    javascript网页特效实例大全(13-19)

    实例362 打开指定大小的新窗口并居中显示 586 15.2 弹出确认对话框 588 实例363 删除数据前弹出确认对话框 588 实例364 安全退出前弹出确认对话框 590 15.3 其他 591 实例365 远程获取其他网页情报 591 ...

    JavaScript网页特效范例宝典源码

    实例291 调用IE自身的打印功能实现打印 460 实例292 打印指定框架中的内容 461 实例293 利用WebBrowser打印 462 实例294 设置页眉页脚 463 11.2 利用Word打印报表 465 实例295 将页面中的表格导出到Word并打印 465 ...

    《程序天下:JavaScript实例自学手册》光盘源码

    12.23 获取模式窗口的值 第13章 日期和时间特效 13.1 指定时间关闭页面 13.2 最简单的时间日期特效 13.3 最简单的获取时间的方法 13.4 随日期变换的文本 13.5 输入框的默认值为今天 13.6 时间相加 13.7 5秒后消失的...

    轻轻松松学用javascript编程(PDF)

    IFrame) 3.5.1 了解链接的Target 属性 3.5.2 由JavaScript,在不同的桢( 窗口) 间访问对象 3.5.3 了解IFrame 4 正则表达式和模式匹配 4.1 定义正则表达式 4.2 字符类 4.3 正则表达式的应用...

    轻轻松松学用javascript编程

    本文并不是一本集中讨论JavaScript 的读物。只是一本入门向导的快餐式的读物,适合初学者。 主要的内容: ◆ 简单介绍JavaScript 语言,JavaScript 所处理的对象――属性和方法; ◆ JavaScript 代码加入HTML ...

    javascript基础知识PDF

    3.5.2 由JavaScript,在不同的桢( 窗口) 间访问对象. . . . . . 27 3.5.3 了解IFrame . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 4 正则表达式和模式匹配 . . . . . . . . . . . . 28...

    JavaScript详解(第2版)

    第1章 JavaScript简介 1 1.1 JavaScript是什么 1 1.2 JavaScript不是什么 2 1.3 JavaScript的用处 3 1.4 JavaScript及其在Web页面中的位置 3 1.5 Ajax是什么 5 1.6 JavaScript是什么样子的 6 1.7 ...

    JavaScript王者归来part.1 总数2

     13.5.1 事件处理模式--一个实现简单事件处理模式的例子   13.5.2 用户事件接口的定义   13.5.3 事件代理和事件注册--一个实现标准事件接口的例子   13.5.4 标准模式--事件分派和接收   13.6 一个例子--...

    JavaScript经典实例

     2.4找到并突出显示一个模式的所有实例  2.5使用新字符串替换模式  2.6使用捕获圆括号交换一个字符串中的单词  2.7使用正则表达式来去除空白  2.8使用命名实体来替代HTML标签  2.9搜索特殊字符  第3章日期、...

    JavaScript实战

    第一部分 JavaScript入门 1 第1章 编写第一个JavaScript程序 1 1.1 编程简介 1 什么是计算机程序 2 1.2 如何把JavaScript添加到页面 3 外部JavaScript文件 5 1.3 第一个JavaScript程序 7 1.4 把文本写到Web页面上 9 ...

    JavaScript实用范例词典04-14

    9.50 跳页菜单的实现... 300 9.51 在新窗口中打开网页... 302 9.52 取得文件字段中选取的 文件名称(包含路径) 303 9.53 取得文件字段中选取的 文件名称(不包含路径) 304 9.54 取得文件字段中选取文件的扩展名....

    精通JavaScript

    • 11.8.htm JavaScript实现事件控制器 • 11.9.htm 元素属性综合应用 • 11.10.htm 动态修改表单元素内容 第12章(\第12章) • 12.1.htm Document树的简单例子 • 12.2....

    精通javascript

    • 11.8.htm JavaScript实现事件控制器 • 11.9.htm 元素属性综合应用 • 11.10.htm 动态修改表单元素内容 第12章(\第12章) • 12.1.htm Document树的简单例子 • 12.2....

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    (1)针对多窗口类浏览器模式问题,指出并分析了该问题存在的原因,利用Activity的运行机制,通过Fragment栈对主要模块的Webview进行管理,实现对不同模块之间切换的控制。 (2)针对跨域数据交互问题,指出并分析了...

    jquery.avgrund.js:Avgrund是jQuery插件,具有弹出窗口的新模式概念

    您只需在一行中包含javascript文件和初始化Avgrund: $ ( 'element' ) . avgrund ( ) ; 并将avgrund.css文件链接到项目: &lt; link rel =" stylesheet " href =" path/to/your/avgrund.css " &gt; 如果您使用则...

    JavaScript笔记

    JavaScript常用于实现如下功能: |--控制文档的外观和内容; |--对浏览器的控制; |--与 HTML 表单的交互; |--与用户的交互; |--执行计算等。 1.单击事件:定义在按钮的开始标签中 语法:onclick="js语句...

Global site tag (gtag.js) - Google Analytics