`
wangyi529
  • 浏览: 35104 次
  • 性别: 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
分享到:
评论

相关推荐

    一个JQuery插件 - Javascript可拖动的模式窗口

    该插件利用了jQuery的这些特性来实现模式窗口的功能。 ### 模式窗口(Modal Window) 模式窗口通常用于弹出需要用户注意或者需要用户交互的情况,如登录对话框、警告提示或表单提交。这种窗口会在页面的其余部分上...

    div模式窗口-div模式窗口

    2. `div`模式窗口的实现: `div`模式窗口是指利用`div`元素创建的可交互或可弹出的窗口效果。这通常通过JavaScript或者jQuery等库来实现动态效果,如点击按钮后弹出一个包含特定内容的`div`窗口。这个窗口可以是...

    javascript弹出窗口问题总结

    本篇文章将针对JavaScript弹出窗口的相关问题进行总结,包括无提示刷新网页、刷新页面的方法、弹出窗口代码、模式窗口的数据刷新问题、模式窗口中链接弹出新窗口以及无提示关闭页面的方法。 1. **无提示刷新网页** ...

    JavaScript实现弹出子窗口并传值给父窗口

    本文将深入讲解如何利用JavaScript实现弹出子窗口,并将子窗口中的数据传递回父窗口。 首先,我们来看父窗口的代码。在给定的`First.html`文件中,我们定义了一个名为`ShowDialog`的JavaScript函数,用于打开一个...

    JavaScript弹出窗口方法汇总_.docx

    JavaScript 弹出窗口方法是 Web 开发中常用的技术,用于实现弹出窗口、刷新网页、模式窗口等功能。本文将对 JavaScript 弹出窗口方法进行总结和分析,帮助读者更好地理解和应用这些方法。 一、无提示刷新网页 在 ...

    javascript操作DIV总结(弹出窗口篇)

    对于弹出窗口,模态对话框和非模态弹出框的实现主要依赖于CSS和JavaScript的结合使用,浮动窗口则涉及到事件监听和计算元素位置。理解并熟练掌握这些技能,能够帮助开发者创建更具有交互性和用户体验的网页应用。 ...

    jQuery实现模式窗口登录

    ### jQuery实现模式窗口登录 #### 知识点概述 本文将详细介绍如何利用jQuery库来创建一个弹出式登录对话框,这种登录对话框通常被称为模态窗口。此方法适用于Internet Explorer(IE)和Firefox浏览器,并且可以很...

    Model--模式窗口的使用

    在JavaScript(js)中,模式窗口的实现有很多种方法,包括使用内置的`window.alert()`、`window.confirm()`和`window.prompt()`函数,但这些功能有限,无法满足复杂的UI需求。因此,开发者通常会使用第三方库,如...

    功能强大的JS弹出窗口

    标题中的“功能强大的JS弹出窗口”指的是利用JavaScript实现的各种弹出对话框功能,这些对话框能够增强用户体验,提供丰富的交互方式。 在描述中提到的弹出窗口js代码,它提供了多种弹出效果,让我们一一解析: 1....

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

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

    js弹出层暂停实现模式窗口效果(修改后的)

    综上所述,"js弹出层暂停实现模式窗口效果"涉及到HTML布局、CSS样式、JavaScript交互、动画效果、可访问性和响应式设计等多个方面。通过合理地组合这些技术,可以创建出功能完备且用户体验良好的弹出层效果。在实际...

    JBOX模式窗口,iframe

    `JBox`的模式窗口功能,使得弹出的窗口具有焦点,确保用户首先处理窗口内的内容。 3. **iframe** `iframe`(Inline Frame)是HTML标签,用于在网页中嵌入另一个HTML文档。在`JBox`中,通过设置`iframe`参数,我们...

    (web前端设计)artDialog模式窗口

    在Web前端设计中,"artDialog模式窗口"是一种常见的弹出对话框插件,它用于在网页中创建优雅且功能丰富的提示、警告、确认或自定义对话框。artDialog不仅提供了一种美观的用户界面,还支持丰富的定制选项,使得...

    javascript经典特效---全屏打开窗口.rar

    在本主题"JavaScript经典特效——全屏打开窗口"中,我们将深入探讨如何利用JavaScript技术来实现一个全屏显示的窗口功能。这个压缩包包含了一个名为"全屏打开窗口.htm"的HTML文件,它很可能是实现这一特效的示例代码...

    javascript经典特效---检测窗口占显示器的比重.rar

    在JavaScript编程领域,实现"检测窗口占显示器的比重"这一特效涉及...通过上述步骤,我们可以实现JavaScript检测窗口占显示器比重的功能,同时理解了DOM操作、事件监听、布局计算等多个重要的JavaScript和Web开发技术。

    可以拖动的子窗口

    通过以上技术点的实现,我们可以创建出一个功能完备、用户体验良好的可拖动子窗口。在实际编程中,可以使用各种编程语言和库来实现这一功能,如Java的Swing或JavaFX,C#的WPF,JavaScript的HTML5 Canvas或Web ...

    js弹出一个超酷的小窗口

    这段代码示例不仅提供了基本的弹出窗口功能,还包含了拖拽交互的实现,这使得最终的弹出窗口更加用户友好和动态。对于希望在其网站上添加此类功能的开发者来说,这是一个很好的起点。然而,实际应用中可能还需要考虑...

    javascript经典特效---按钮打开全屏窗口.rar

    综上所述,“javascript经典特效---按钮打开全屏窗口.rar”资源提供了一个基于JavaScript实现的全屏功能示例,通过学习和实践这个例子,开发者可以掌握如何在网页中优雅地切换全屏模式,提升用户浏览体验。...

    weebox 优秀的js模式窗口

    这种模式窗口在网页中广泛用于表单提交、图片预览、信息提示等场景。Weebox的亮点在于它的灵活性和可定制性,开发者可以根据需求调整窗口的大小、样式、动画效果等。 文档`weebox0.4.docx`可能包含了Weebox的最新...

    JavaScript特效打包下载

    这些功能可以通过JavaScript事件监听器实现,例如`window.onload`用于页面加载完成后执行代码,`window.resize`可以监听窗口大小变化,进而调整页面布局。 div层是HTML中的一个重要元素,用于组织和定位页面内容。...

Global site tag (gtag.js) - Google Analytics