最好的拖拽js

<!DOCTYPE html>
<html lang="en">

	<head>
		<meta charset="UTF-8" />
		<title>拖拽js</title>
		<style type="text/css">
			html,
			body {
				overflow: hidden;
			}

			body,
			div,
			{
				margin: 0;
				padding: 0;
			}

			body {
				color: #fff;
				font: 12px/2 Arial;
			}

			p {
				padding: 0 10px;
				margin-top: 10px;
			}

			span {
				color: #ff0;
				padding-left: 5px;
			}

			#box {
				position: absolute;
				width: 300px;
				height: 150px;
				background: #D5CDDA;
				border: 2px solid #ccc;
				top: 150px;
				left: 400px;
				margin: 0;
			}

			#drag {
				height: 25px;
				cursor: move;
				background: #724a88;
				border-bottom: 2px solid #ccc;
				padding: 0 10px;
			}
		</style>
	</head>

	<body>
		<div id="box">
			<div id="drag">拖动区域</div>
			被拖动的整个div
		</div>
	</body>

</html>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
	$(function() {
			moveBox($("#box"), $("#drag"));
		})
		//B被拖动的div,BT可拖动区域
	function moveBox(B, BT) {
		var bDrag = false;
		var _x, _y;
		BT.mousedown(function(event) {
			var e = event || window.event;
			bDrag = true;
			_x = e.pageX - B.position().left;
			_y = e.pageY - B.position().top;
			return false
		})
		$(document).mousemove(function(event) {
			if(!bDrag) return false;
			var e = event || window.event;
			var x = e.pageX - _x;
			var y = e.pageY - _y;
			console.log(B.position());
			var maxL = $(document).width() - B.outerWidth();
			var maxT = $(document).height() - B.outerHeight();
			x = x < 0 ? 0 : x;
			x = x > maxL ? maxL : x;
			y = y < 0 ? 0 : y;
			y = y > maxT ? maxT : y;
			B.css({
				left: x,
				top: y
			});
			return false
		}).mouseup(function() {
			bDrag = false;
			return false
		})
	}
</script>

  

时间: 2024-10-02 00:10:20

最好的拖拽js的相关文章

【原创】js实现一个可随意拖拽排序的菜单导航栏

1.想做这个效果的原因主要是用在UC上看新闻发现他们的导航菜单很有趣.无聊的时候在哪划着玩了很久.所以就干脆自己写一个.原效果如下 2.整体效果如下,在已推荐和未添加里面每个小方块可以触摸移动位置互换.未添加和已添加里面的小方块位置可以拖放. 3.结构分析.整体结构用红线框标出.可以分为三个部分.关注底部拖拽部分.一个div里面嵌套两个div.定位关系如图.本次教程之作一个拖拽框 1.好了,基本情况已经分析清楚先实现页面样式. <div class="wrap"> <

【 D3.js 进阶系列 — 6.0 】 拖拽的应用(Drag)

拖拽(Drag)是交互式中很重要的一种,本文将讲解拖拽的使用方法. 1. drag的定义 D3中可用 d3.behavior.drag() 来定义 drag 行为. var drag = d3.behavior.drag() .on("drag", dragmove); function dragmove(d) { d3.select(this) .attr("cx", d.cx = d3.event.x ) .attr("cy", d.cy =

js拖拽效果实现

<!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" xml:lang="en"><head>    <meta

jquery.dragsort.js 实现拖拽过程遇到的问题

1.在IE下第一次拖动的时候,被拖动的li元素会不显示,查了很多资料发现是因为在IE中定位出了问题,li标签还在,只是位置计算出错.解决的办法是在li的css样式中position设置为relative.这个问题在火狐等其他浏览器是不存在的. 2.如果拖动的li所在容器出现了滚动条,当滚动条滑到最下面的时候,拖拽下面的li的浮动层位置会出现偏移.解决的办法是在jquery.dragsort.js中,this.draggedItem.css({ top: top, left: left });这句

js 利用jquery.gridly.js实现拖拽并且排序

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <script src='javascripts/jquery.js' type='text/javascript'></script> <script src='javascripts/jqu

JS—实现拖拽

JS中的拖拽示例:    1)实现拖拽思路:当鼠标按下和拖拽过程中,鼠标与拖拽物体之间的相对距离保持不变    2)实现拖拽遇到的问题:        问题1:当鼠标按下移动过快时,离开了拖拽的物体时,这时拖拽物体将不再随着鼠标移动                因为拖拽的div太小了,这时我们可以将在拖拽物体上的mousemove事件放到document上面                同时将mouseup也改为document上面的事件                IE下直接用obj.s

JS拖拽

拖拽原理    a, 被拖拽物体绝对定位    b, 按下时记录鼠标在拖拽物体上的位置,拖拽时鼠标在拖拽物体上的位置保持不变    c, 鼠标移动时改变拖拽物体位置 1,简易拖拽 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>拖拽原型</title> <script type="text/javascript" sr

js实现可拖拽的div

实现一个div可以被拖拽,代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>zzw_drap</title> <style> * { margin: 0; padding: 0; } #box { position: absolute; top: 100px; left: 200

js可以随意拖拽的div的实现

最近花了点时间用纯JS写了一个扫雷程序,写出来效果很差,自己长时间使用面向过程的方式编写代码,写的程序到后面都乱了,有必要找时间好好的深入理解一下OOP了.有时间会把写的东西拿上来.就当是留个纪念吧.打算用OOP重新写个扫雷程序,希望令自己满意. ——————————————碎碎念 记录一个实现随意拖拽div的实现方法,当作备忘吧,指不定什么时候用到了呢. <!DOCTYPE html> <html lang="en"> <head> <met