`
lbyzx123
  • 浏览: 477942 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

弹出层窗口,并实现拖拽效果

阅读更多

<style>
#div1 {
 float: left;
 padding: 5px;
 margin: 10px;
 background: #FFF;
 border: 1px solid #c51100;
 width: 250px;
 height:480px;
 }
#div2{
 float: left;
 padding: 5px;
 margin: 10px;
 background: #FFF;
 border: 1px solid #c51100;
 width: 250px;
 height:480px;
 }

</style>
<DIV id=ctl04_ddlSalesMan style="Z-INDEX: 3; WIDTH:200px" value text>
<INPUT id=ctl04_ddlSalesMan_valueField type=hidden name=ctl04_ddlSalesMan_valueField>
<TABLE id=ctl04_ddlSalesMan_tblRefControl cellSpacing=0 cellPadding=0 width="100%" border=0 unselectable="on">
 <TBODY>
 <TR>
  <TD unselectable="on">
   <INPUT id=ctl04_ddlSalesMan_textField style="WIDTH: 100%" name=ctl04_ddlSalesMan_textField autocomplete="off">
  </TD>
  <TD width=34 unselectable="on">
   <IMG id=ctl04_ddlSalesMan_imgNew style="WIDTH: 17px; HEIGHT: 16px" src="images/RefControlNew.gif"><IMG id=ctl04_ddlSalesMan_img style="WIDTH: 17px; HEIGHT: 16px" src="images/RefControlSearch.gif" onclick='popDiv();'>
  </TD>
 </TR>
 </TBODY>
</TABLE>
</DIV>
 <script>
   /**
   *弹出层
   */
   function popDiv()
   {
    var msgw,msgh,bordercolor;
    msgw=600;//提示窗口的宽度
    msgh=500;//提示窗口的高度
    titleheight=25 //提示窗口标题高度
    bordercolor="#c51100";//提示窗口的边框颜色
    titlecolor="#c51100";//提示窗口的标题颜色    
    var sWidth,sHeight;
    sWidth=screen.width;
    sHeight=screen.height;
    //创建阴影层    
    var bgObj=document.createElement("div");
    bgObj.setAttribute('id','bgDiv');
    bgObj.style.position="absolute";
    bgObj.style.top="0";
    bgObj.style.background="#cccccc";
    bgObj.style.filter="progid:DXImageTransform.Microsoft.Alpha(style=3,opacity=25,finishOpacity=75";
    bgObj.style.opacity="0.6";
    bgObj.style.left="0";
    bgObj.style.width=sWidth + "px";
    bgObj.style.height=sHeight + "px";
    bgObj.style.zIndex = "10000";
    document.body.appendChild(bgObj);
    //创建弹出层
    var msgObj=document.createElement("div")
    msgObj.setAttribute("id","msgDiv");
    msgObj.setAttribute("align","center");
    msgObj.style.background="white";
    msgObj.style.border="1px solid " + bordercolor;
    msgObj.style.position = "absolute";
    msgObj.style.left = "50%";
    msgObj.style.top = "50%";
    msgObj.style.font="12px/1.6em Verdana, Geneva, Arial, Helvetica, sans-serif";
    msgObj.style.marginLeft = "-225px" ;
    msgObj.style.marginTop = -75+document.documentElement.scrollTop+"px";
    msgObj.style.width = msgw + "px";
    msgObj.style.height =msgh + "px";
    msgObj.style.textAlign = "center";
    msgObj.style.lineHeight ="25px";
    msgObj.style.zIndex = "10001";    
    var title=document.createElement("h4");
    title.setAttribute("id","msgTitle");
    title.setAttribute("align","right");
    title.style.margin="0";
    title.style.padding="3px";
    title.style.background=bordercolor;
    title.style.filter="progid:DXImageTransform.Microsoft.Alpha(startX=20, startY=20, finishX=100, finishY=100,style=1,opacity=75,finishOpacity=100);";
    title.style.opacity="0.75";
    title.style.border="1px solid " + bordercolor;
    title.style.height="18px";
    title.style.font="12px Verdana, Geneva, Arial, Helvetica, sans-serif";
    title.style.color="white";
    title.style.cursor="pointer";
    title.innerHTML="关闭";
    title.onclick=function(){
    document.body.removeChild(bgObj);
    document.getElementById("msgDiv").removeChild(title);
    document.body.removeChild(msgObj);
    }
    document.body.appendChild(msgObj);
    document.getElementById("msgDiv").appendChild(title);
    var main=document.createElement("div");
    main.setAttribute('id','mainDiv');
    main.style.width = msgw + "px";
    main.style.height =msgh + "px";
    main.setAttribute("align","center");
    main.innerHTML="<div id='div1'></div><div id='div2'></div>";
    document.getElementById("msgDiv").appendChild(main);
    drag("msgDiv",1);
   }
   /**
   *拖动效果
   */
   function drag(o,s)
   {
    if (typeof o == "string") o = document.getElementById(o);
    o.orig_x = parseInt(o.style.left) - document.body.scrollLeft;
    o.orig_y = parseInt(o.style.top) - document.body.scrollTop;
    o.orig_index = o.style.zIndex;
   
    o.onmousedown = function(a)
    {
    this.style.cursor = "move";
    this.style.zIndex = 10000;
    var d=document;
    if(!a)a=window.event;
    var x = a.clientX+d.body.scrollLeft-o.offsetLeft;
    var y = a.clientY+d.body.scrollTop-o.offsetTop;   
    d.ondragstart = "return false;"
    d.onselectstart = "return false;"
    d.onselect = "document.selection.empty();"
   
    if(o.setCapture)
    o.setCapture();
    else if(window.captureEvents)
    window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);


    d.onmousemove = function(a)
    {
    if(!a)a=window.event;
    o.style.left = a.clientX+document.body.scrollLeft-x;
    o.style.top = a.clientY+document.body.scrollTop-y;
    o.orig_x = parseInt(o.style.left) - document.body.scrollLeft;
    o.orig_y = parseInt(o.style.top) - document.body.scrollTop;
    }


    d.onmouseup = function()
    {
    if(o.releaseCapture)
    o.releaseCapture();
    else if(window.captureEvents)
    window.captureEvents(Event.MOUSEMOVE|Event.MOUSEUP);
    d.onmousemove = null;
    d.onmouseup = null;
    d.ondragstart = null;
    d.onselectstart = null;
    d.onselect = null;
    o.style.cursor = "normal";
    o.style.zIndex = o.orig_index;
    }
    }
   
    if (s)
    {
    var orig_scroll = window.onscroll?window.onscroll:function (){};
    window.onscroll = function ()
    {
    orig_scroll();
    o.style.left = o.orig_x + document.body.scrollLeft;
    o.style.top = o.orig_y + document.body.scrollTop;
    }
    }
   }   
 </script>

分享到:
评论

相关推荐

    jquery弹出层并可拖动

    在提供的压缩包“弹出层并可鼠标拖动”中,包含了实现这一功能的具体文件,你可以通过下载并引入这些文件到你的项目中,直接调用封装好的接口来快速实现弹出层的拖动效果。这大大简化了开发过程,提高了效率。 总结...

    jQuery LayerModel弹出层插件拖动弹出层效果

    jQuery LayerModel是一款基于jQuery的弹出层插件,它提供了丰富的功能,包括创建各种类型的弹出窗口,如提示、信息、确认、加载等,并且支持弹出层的拖动效果。在网页交互设计中,弹出层是常用的一种增强用户体验的...

    自定义js弹出窗口(弹出层)

    - 实现拖拽功能,允许用户自由调整弹出层的位置。 - 添加确认或取消按钮,处理复杂的用户交互逻辑。 在提供的"自定义js弹出窗口"压缩包文件中,可能包含了实现以上功能的示例代码。通过查看和学习这些代码,你...

    bootstrap可拖拽弹出层

    4. **拖拽功能**:实现拖拽逻辑,通常通过计算鼠标移动距离并更新弹出层的位置来实现。 5. **API接口**:提供显示、隐藏、销毁等方法,便于在代码中控制弹出层的状态。 为了使弹出层可扩展,开发者可能还提供了插件...

    漂亮的html弹出层弹出窗口

    "zDrag.js"可能包含拖放功能的实现,允许用户通过鼠标拖动来调整弹出层的位置,增加用户的操作自由度。 "bigform.html"和"test.html"可能是用于测试不同场景下弹出层功能的页面,可能包含了复杂表单或其他交互元素...

    弹出层,可拖动,仿discuz2.x 登陆弹出

    本文将详细探讨“弹出层,可拖动,仿discuz2.x 登录弹出”这一主题,以及相关的技术实现和特点。 首先,弹出层的核心特性是它的可拖动性。这意味着用户可以通过鼠标点击并移动来改变弹出层的位置,提供了更高的交互...

    QML弹出窗口组件,灯箱效果、动画效果,可拖拽

    QML弹出窗口组件,灯箱效果、动画效果,可拖拽 核心思路:一个mask层,一个最顶层,都用rectangle,禁止事件穿透,动画效果 http://www.cnblogs.com/surfsky/p/3998391.html

    模拟一个弹出可拖动的层窗口源码(效果超酷)

    本资源"模拟一个弹出可拖动的层窗口源码(效果超酷)"正是利用了JavaScript来实现一个极具吸引力的交互式功能——可拖动的弹出层窗口。下面我们将深入探讨这一技术实现的关键知识点。 首先,让我们理解什么是弹出层...

    jquery弹出层插件点击弹出层可拖动,弹出层为umeditor

    在IT领域,尤其是在Web开发中,我们经常遇到各种交互式设计和组件的实现,其中“jQuery弹出层插件点击弹出层可拖动,弹出层为umeditor”就是一个典型的例子。这个功能结合了多个技术,包括jQuery、CSS、iframe以及...

    js可拖拽最大最小化弹出层窗口.zip

    这个"js可拖拽最大最小化弹出层窗口.zip"压缩包提供了一个解决方案,它允许用户通过鼠标操作灵活调整窗口的位置和大小,并实现窗口状态的切换。下面我们将详细探讨相关的JavaScript知识点。 首先,我们来理解“拖拽...

    js弹出层特效点击按钮弹出窗口支持鼠标拖动

    "js弹出层特效点击按钮弹出窗口支持鼠标拖动"这个主题,关注的是如何创建一个具有动态效果的弹出层,它不仅可以在用户点击按钮时出现,还允许用户通过鼠标拖动来调整弹出层的位置。 首先,我们需要理解HTML结构。在...

    javascript九种自定义弹出层效果

    4. **可拖动弹出层**:用户可以通过鼠标拖动弹出层的位置。这需要监听鼠标的`mousedown`、`mousemove`和`mouseup`事件,计算偏移量,并更新弹出层的CSS位置。 5. **自适应大小**:弹出层内容可能根据数据动态变化,...

    js弹出层可拖动兼容各大浏览器

    "js弹出层可拖动兼容各大浏览器"这个主题涵盖了如何利用JavaScript实现一个弹出窗口,并确保它在各种浏览器(如Chrome、Firefox、Safari、Edge和IE等)上具有良好的兼容性。下面我们将深入探讨这一技术。 首先,...

    缓冲 动画效果弹出层 并且可以拖动

    标题中的“缓冲动画效果弹出层并且可以拖动”指的是在网页中实现一种具有缓冲动画效果的弹出窗口,该窗口不仅能够展示信息,还能允许用户通过鼠标进行拖动定位。这种功能通常用于创建对话框、提示框或者模态窗口等...

    弹出层拖动效果

    "弹出层拖动效果"是网页设计中常见的一种交互功能,它允许用户通过鼠标拖动来移动弹出窗口的位置,提高了用户体验。在这个例子中,我们将深入探讨如何使用JavaScript来实现这一效果。 首先,弹出层通常是网页上的一...

    自己写的jquery 弹出层插件,可拖动

    5. **拖动功能**:实现拖动功能通常涉及监听鼠标事件(mousedown、mousemove、mouseup),计算鼠标相对于弹出层的位置,然后更新元素的CSS位置属性。 6. **插件化设计**:优秀的jQuery插件通常遵循一定的设计模式,...

    html+js实现可拖动,兼容IE7及以上firefox、谷歌等各版本弹出层并锁屏效果代码

    在这个项目中,我们讨论的是如何使用这两种语言来创建一个可拖动的弹出层,并实现兼容IE7及以上版本,包括Firefox和Chrome在内的多种浏览器的锁屏效果。这个功能在网页应用中很常见,比如在显示模态对话框或提示信息...

    弹出层效果例子 -搭配framse 经典!

    例如,我们可以创建一个函数,动态地创建一个新的DOM元素作为弹出层,并添加拖动功能,这正是"弹出层拖动效果"文件名所暗示的。 对于"搭配frames 经典!"这部分,frames在HTML中是指框架,它将网页划分为多个独立的...

Global site tag (gtag.js) - Google Analytics