`

js 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>
 </head>
<style>
	#id1{position:relative;}
	#movediv{
		position:absolute;border:1px solid #000;
		cursor:pointer;
	}
</style>
 <script language="javascript" type="text/javascript">
    var _IsMousedown = 0;
    var _ClickLeft = 0;
    var _ClickTop = 0;
    function moveInit(divID,evt)
    {
		_IsMousedown = 1;
		if(getBrowserType() == "NSupport"){
			return;
		}
		var obj = getObjById(divID);
		if(getBrowserType() == "fox"){
			_ClickLeft = evt.pageX - parseInt(obj.style.left);
			_ClickTop = evt.pageY - parseInt(obj.style.top);
		}else{
			_ClickLeft = evt.x - parseInt(obj.style.left);
			_ClickTop = evt.y - parseInt(obj.style.top);
		}
	}
	function Move(divID,evt)
	{
		if(_IsMousedown == 0){
			return;
		}
		var objDiv = getObjById(divID);
		if(getBrowserType() == "fox"){
			objDiv.style.left = evt.pageX - _ClickLeft;
			objDiv.style.top = evt.pageY - _ClickTop;
		}
		else{
			objDiv.style.left = evt.x - _ClickLeft;
			objDiv.style.top = evt.y - _ClickTop;
		}
   }
   function stopMove()
   {
		_IsMousedown = 0;
   }
   function getObjById(id)
   {
		return document.getElementById(id);
   }
   function getBrowserType()
   {
		var browser=navigator.appName
		var b_version=navigator.appVersion
		var version=parseFloat(b_version)
		//alert(browser);
		if ((browser=="Netscape")){
			return "fox";
		}else if(browser=="Microsoft Internet Explorer"){
			if(version>=4){
				return "ie4+";
			}else{
				return "ie4-";
			}
		}else{
			return "NSupport";
		}
   }
 </script>
<body>
	<div id="id1">
		<div id="movediv" style="background-color:blue;left:20px;top:20px;" onmousedown="moveInit('movediv',event);" onmousemove="Move('movediv',event)" onmouseup="stopMove()" onmouseout="stopMove()">12313</div>
		<div id="id2" style="background-color:red;width:200px;height:100px;"></div>
	</div>
</body>
</html>

  

 

第二种:

<!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=gb2312" />
<title>无标题文档</title>
<style type="text/css">
<!--
.drag{position:absolute;width:200px; background-color:green;height:120px;z-index:1;}
.da{width:100%;height:20px;background-color:black;color:white;cursor:move;}
.x{float:right;color:red;cursor:pointer;}
-->
</style>
</head>

<body>
<div class="drag" rel="drag" id="drag1" style="left:30px;top:10px;" onmousedown="dargit(this,event);">
    <div class="da" ><span class="x">x</span>拖动区1.</div>
    文字1
</div>
<script type="text/javascript">
var ey=0,ex=0,lx=0,ly=0,canDrg=false,thiso=null;//
var x, y,rw,rh;
var divs=document.getElementsByTagName("div");
for (var i=0;i<divs.length;i++){ 
     if(divs[i].getAttribute("rel")=="drag"){
       divs[i].onmousemove=function(){
       thismove(this);//实时得到当前对象与鼠标的值以判断拖动及关闭区域;
    }
     }
}

function thismove(o){
      rw=parseInt(x)-parseInt(o.style.left);
      rh=parseInt(y)-parseInt(o.style.top);
document.title=rw+"=文本区域="+rh;
      if(rh<=20 && rw>=180)document.title=rw+"||20*20||"+rh;//右上角20*20的关闭区域
if(rh<=20 && rw<180 )document.title=rw+"||可选||"+rh;//绝对拖动条选择区域;
}
function dargit(o,e){
thiso = o;
canDrg = true;
if(!document.all){
        lx = e.clientX; ly = e.clientY;
        }else{
          lx = event.x; ly = event.y;
     }
if(document.all) thiso.setCapture();
    
st(o);//置前或置后

}

document.onmousemove = function(e){
if(!document.all){ x = e.clientX; y = e.clientY; }else{ x = event.x; y = event.y; }
if(canDrg){
      //if(rh<=20 && rw<180 ){//如果要设定拖动区域可以作判断
var ofsx = x - lx;
thiso.style.left = parseInt(thiso.style.left) + ofsx;
lx = x;
var ofsy = y - ly;
thiso.style.top = parseInt(thiso.style.top) + ofsy;
ly = y;
//}else{canDrg=false;}
}
}

document.onmouseup=function(){
       canDrg=false;//拖拽变量设为false
       if(document.all && thiso != null){
        //ie下,将清捕获;
           thiso.releaseCapture();
        thiso = null;
     }
}


function set(obj){
       obj=obj.parentNode.parentNode;
       if(obj.getAttribute("rel"));
      //obj.style.zIndex=1;
    
}
function st(o){

var p = o.parentNode;
if(p.lastChild != o){
    p.appendChild(o);
}

if(rh<=20 && rw>=180){
canDrg=false;
//如果选择的是关闭区域;
      window.status=rw+"|"+rh;
      if(p.firstChild == o) return;
      p.insertBefore(o, p.firstChild);
          }
}

</script>


</body>
</html>

  

 

分享到:
评论

相关推荐

    DIV 拖动 JS移动DIV DIV位置移动

    DIV 拖动 JS移动DIV DIV位置移动DIV 拖动 JS移动DIV DIV位置移动DIV 拖动 JS移动DIV DIV位置移动DIV 拖动 JS移动DIV DIV位置移动

    js实现div移动,代码很简洁明了

    js实现div移动,代码很简洁明了 通过js 实现div的移动,代码量很少,,一看就明白的.

    DIV移动组件JavaScript

    `DIV` 移动组件是利用 JavaScript 实现的一种交互效果,允许用户通过编程方式控制 `DIV` 层的位置,为网页增添动态性和交互性。这种组件在网页设计、游戏开发或者复杂用户界面中都有广泛应用。 JavaScript 是一种轻...

    js移动div源代码

    5. **动画效果**:如果希望div移动过程平滑,可以使用`requestAnimationFrame()`来创建动画效果,每次更新坐标并重绘,直到div到达目标位置。 例如,一个简单的div拖拽功能的实现可能如下: ```javascript let ...

    DiV层移动实例(纯JS仿赛我的个人小窝)

    2. **CSS样式动态修改**:`div`的移动可以通过改变`style.left`和`style.top`属性实现,这两个属性分别控制元素在页面上的水平和垂直位置。值可以是像素或其他长度单位。例如,`element.style.left = '50px'`会让...

    js移动层和跟随鼠标的div

    在JavaScript编程中,创建一个移动...综上所述,"js移动层和跟随鼠标的div"涉及了JavaScript事件处理、DOM操作、CSS样式布局以及动画效果的实现。通过理解并实践这些知识点,开发者可以创建出更多有趣的网页交互元素。

    div移动块(用于web上的小移动栏)

    接下来,我们来看看JavaScript是如何实现div移动的。在JavaScript中,我们可以获取到页面上的特定元素,比如`document.getElementById()`或`document.querySelector()`方法。然后,我们可以添加事件监听器,如`...

    DIV可移动布局

    在"DIV移动布局"中,关键在于使用JavaScript来赋予DIV元素拖动的功能。JavaScript是一种客户端脚本语言,它可以与用户的交互行为进行实时响应,比如鼠标点击和移动。这里提到的"Drag.js"可能就是实现这一功能的脚本...

    纯js操作div移动、伸缩,支持快捷键

    在本文中,我们将深入探讨如何使用纯JavaScript来操作HTML中的`div`元素,实现其在页面上的移动和伸缩,...结合提供的"纯js操作div移动、伸缩,支持快捷键.html"文件,你可以看到这些概念如何在实际代码中得到应用。

    JS 可移动div层 移动div层 支持多个div层移动

    参考自:http://blog.csdn.net/k8080880/article/details/7166351 这下载文件只是为了懒人做的...

    DIV可移动 可实现任意拖动放大缩小

    标题中的“DIV可移动 可实现任意拖动放大缩小”是指一种使用JavaScript技术来实现的交互功能,允许用户在网页上自由地拖动、缩放HTML中的div元素。这一功能通常用于创建用户界面元素,如窗口、面板或者任何需要动态...

    鼠标移动到div上显示制定信息或者div(自适应显示位置)

    现在,我们需要使用JavaScript(这里我们可以使用jQuery库,因为它简洁易懂)来监听"hover-div"的`mouseover`和`mouseout`事件,以便在鼠标进入和离开时显示和隐藏"info-div"。同时,我们还需要计算"info-div"的显示...

    移动DIV简易实例

    本实例将探讨如何通过JavaScript实现一个简单的`div`层移动效果,这在交互式网页设计中非常常见,可以增强用户体验。我们将主要讨论以下几个知识点: 1. **HTML基础知识**:`div`元素是HTML中的一个块级元素,它...

    纯JS控制DIV选择范围移动与复制

    纯JS控制DIV选择范围移动与复制

    移动div(jquery)

    例如,我们可以创建一个平滑滚动的效果,将div移动到页面的某个特定位置: ```javascript $("#scrollToDiv").click(function() { $('html, body').animate({ scrollTop: $("#myDiv").offset().top }, 1000); });...

    纯JS控制DIV选择范围移动与复制 改进版

    &lt;br&gt;移动位置,选中DIV后,如果单选组选中移动(-)(默认,快捷键为“-”)按住左键拖动位置后释放可批量移动位置,产生一段过度动画,不撤销选择的DIV可多次移动,如已移动完毕按Ctrl+Z撤销选择即可。...

    JS DIV拖动交换位置DEMO

    标题“JS DIV拖动交换位置DEMO”涉及的是JavaScript中实现动态拖动并交换HTML元素,特别是`div`元素位置的技术。在这个示例中,开发者可能想要创建一个交互式的用户界面,用户可以通过鼠标拖拽来调整`div`元素的顺序...

    3个js拖动DIV移动位置的特效代码.rar

    本下载包包括了3个js拖动特效,拖动DIV移动指定位置,一个实例是任意位置的拖动,不受限制,想拖动到哪里就拖动到哪里;另一个是指定位置的拖动,由左侧拖动到右侧指定位置,拖动结束后,左侧会少一个DIV,右侧新增...

    DIV上下移动

    标题“DIV上下移动”指的是在网页开发中,如何通过JavaScript或者CSS实现一个名为DIV的HTML元素在页面上上下移动的效果。这种效果常用于创建动态用户界面,如按钮悬停动画或者提示信息显示等。让我们深入探讨一下...

    移动div+改变div大小+右键添加新的div+div只能在一个范围的。。JQ+js+html源码。。

    本项目涉及的核心知识点是使用JavaScript(JQ和原生JS)与HTML来实现`div`元素的动态交互功能,包括移动、大小调整、右键菜单以及限制`div`在特定范围内的操作。下面将详细解释这些技术点。 1. 移动`div`: 在HTML...

Global site tag (gtag.js) - Google Analytics