实现DIV拖动

Ajax的到来让B/S中的客户端中开发有火了一把,网上出现了很多优秀的开源框架和UI,比较著名了有prototype,YUI,GWT等,但很多时候发现这些东西很难用到你的系统之中,有时候你的系统仅仅需要实现一两个UI功能,如果把整个架构都引入进来是不现实的。所以很多时候是需要自己动手去做一些工作。

现在弹出窗口在B/S系统中很受青睐,它有美观性和易用性等诸多特点,比如我用的sina 博客登陆窗口就是应用了弹出窗口。以前我们做弹出窗口只用一个window.open()搞定,但后来发现这种窗口有很多弊端,首先是界面的美观性差,其次是与主页面的交互性差(只有一个window.opener引用主页面)。所以在开发过程中要自己动手做一些这方面的事情。

于是很多人选择了用Div来实现但出窗口功能,用css来控制外观。但是,这对开发人员提出更高要求:窗口的定位、拖动、与主页面的交互等。。。

昨晚自己也写了一个实现弹出窗口拖动的demo,就拿来贴一下:)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style type="text/css">
.winFrame{
 position:absolute;
 border: outset gray 1px;
 height:400;
 width:500;
}
.winTitle{
 position:absolute;
 border-bottom:1px solid black;
 
 width:100%;
 height:20px;
 cursor:move;
}
.winContent{
 position:absolute;
 top:30px;
 width:100%
 padding: 10px;
 overflow: auto;
}
</style>
<SCRIPT LANGUAGE="JavaScript">
  function beginDrag(elem,event){
 var deltaX = event.clientX - parseInt(elem.style.left);
 var deltaY = event.clientY - parseInt(elem.style.top);

document.attachEvent("onmousemove",moveHandler);
 document.attachEvent("onmouseup",upHandler);

event.cancelBubble = true;
 event.returnValue = false;

function moveHandler(e){
   if(!e)
       e = window.event;
   elem.style.left = (e.clientX - deltaX) + "px";
   elem.style.top = (e.clientY - deltaY) + "px";
   e.cancelBubble = true;
 }

function upHandler(e){
  if(!e)
        e = window.event;
     document.detachEvent("onmousemove",moveHandler);
     document.detachEvent("onmouseup",upHandler);
        e.cancelBubble = true;
 }
  }
</SCRIPT>
</HEAD>
   <div class="winFrame" style="left:50px;top:50px;">
       <div class="winTitle" onmousedown="beginDrag(this.parentNode,event);"> 标题 </div>
    <div class="winContent">
      内容
       </div>
   </div>
<BODY>

</BODY>
</HTML>

时间: 2024-10-19 18:34:45

实现DIV拖动的相关文章

js实现的div拖动效果实例代码

js实现的div拖动效果实例代码:div的拖动效果在很多效果中都有应用,当然还有很多附加的功能,本章节只是给拖动效果,并介绍一下它的实现过程.代码实例如下: <!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <t

jQuery实现DIV拖动

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> New Document </title> <script src="jquery-1.10.2.js"></script

div拖动 (快速拖动就不好使了,求改)

<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> <style type="text/css"> div { background-color: #FF00FF; width: 200px; height: 100px; position: absolute; t

jquery div拖动效果示例代码

1 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit

div拖动(拖拽图片验证码部分代码)

在underside中拖动redbox,box和redbox的横坐标一致 1 <!doctype html> 2 <html lang="en"> 3 <head> 4   5 <meta charset="UTF-8"> 6 <title>拖拽</title> 7 8 <style> 9 #outside { 10 border: 1px solid #99CC00; 11 bac

手机版 div拖动

<!doctype html> <html> <head> <title></title> <script type="text/javascript"> var mouseX; var objX; var isDowm = false; //是否按下鼠标 function mouseDown(obj, e) { obj.style.cursor = "move"; mouseX = e.cli

自定义div 拖动。键盘上下左右键移动,ctrl+Q控制是否可以移动,ctrl+回车,返回初始状态

<!doctype html> <html> <head> <meta charset="utf-8"> <meta name="author" content="智能社 - zhinengshe.com" /> <meta name="copyright" content="智能社 - zhinengshe.com" /> <t

一款基于jquery ui漂亮的可拖动div实例

今天要给大家带来一款基于jquery ui漂亮的可拖动div实例.这款实例用了图片当背景,div层采用了幽灵透明效果.div拖动是基于jquery ui的.界面非常漂亮.一起看下效果图: 在线预览   源码下载 实现的代码. html代码: <div id="box1" class="box blurred-bg tinted"> <h1> Blurred Background</h1> <h2> By <a h

javascript拖动div

div拖动代码,在用此代码之前,你可能需要将你需要拖动的元素style设置position: absolute; #textareaSavaDiv{ position: absolute; right:50px; width:300px; height:300px; } html <div id="textareaSavaDiv"> <input type="text" id="username"/> </div&g