`

jquery实现的拖动效果问题

阅读更多

借助jquery实现对某个物体的拖动,虽然实现了,但感觉用其狠不爽,快速的上下拖动就会脱轨,bug太多了呵呵,还是用jquery自带的拖动爽。



 

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>DIV+CSS模拟表格拖动效果 </title>
<script type="text/javascript" src="jquery1.3.2.js"></script>
<script type="text/javascript" src="jquery-ui-1.7.2.custom.min.js"></script>
<style type="text/css">
#usertable {
	position:absolute;
	width:700px;
	height:165px;
	list-style:none;
	left:340px;
	top:300px;
}
#usertable li {
	border-left:1px solid #ccc;
	border-top:1px solid #ccc;
	float:left;
	width:130px;
	height:33px;
	text-align:center;
	line-height:33px;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
}



#usertable li.h {
	background-color: green;
	
}

#stutable {
	position:absolute;
	width:700px;
	height:165px;
	list-style:none;
	left:340px;
	top:100px;
}
#stutable li {
	border-left:1px solid #ccc;
	border-top:1px solid #ccc;
	float:left;
	width:130px;
	height:33px;
	text-align:center;
	line-height:33px;
	border-bottom:1px solid #ccc;
	border-right:1px solid #ccc;
}

#stutable li.h {
	background-color: background;
	
}

</style>
<script type="text/javascript">

	var status = false;
	function domousemove(e) {		
		var e = e || event;
		$("#mouseX").val(e.clientX);
		$("#mouseY").val(e.clientY);
		$("#endX").val(e.clientX);
		$("#endY").val(e.clientY);
		var xspace = parseInt($("#endX").val())-parseInt($("#initX").val());
		var yspace = parseInt($("#endY").val())-parseInt($("#initY").val());
		$("#xspace").val(xspace);
		$("#yspace").val(yspace);
		if(status == true){
			var endLeft = parseInt($("#initLeft").val())+xspace+"px";
			var endTop = parseInt($("#initTop").val())+yspace+"px";
			$("#endLeft").val(endLeft);
			$("#endTop").val(endTop);
			$("#usertable").css("left",endLeft);
			$("#usertable").css("top",endTop);
		}
	}
	
	function domousedown(e){
		$("#usertable").css("cursor","move");
		$("#status").val("拖动");
		status = true;
		$("#initX").val(e.clientX);
		$("#initY").val(e.clientY);
	}
	
	function domouseup(e){
		$("#status").val("停止");
		$("#usertable").css("cursor","auto");
		status = false;
		$("#initLeft").val($("#endLeft").val());
		$("#initTop").val($("#endTop").val());
	}
	
	function domouseout(){
		
		$("#status").val("停止");
		$("#usertable").css("cursor","auto");
		status = false;
		var endLeft = $("#endLeft").val();
		var endTop = $("#endTop").val();
		if(endLeft!=""&&endTop!=""){
			$("#initLeft").val(endLeft);
			$("#initTop").val(endTop);	
		}
		
	}
	

	$(document).ready(
			function() {
					$("#usertable").mousedown(domousedown)
					.mouseup(domouseup)
					.mousemove(domousemove);
					//.mouseout(domouseout);
					$("#stutable").draggable();
					$("#initLeft").val($("#usertable").css("left"));
					$("#initTop").val($("#usertable").css("top"));
			});
</script>
</head>
<body 
oncontextmenu="return false" 
ondragstart="return false" 
onselectstart ="return false" 
onselect="document.selection.empty()" 
oncopy="document.selection.empty()" 
onbeforecopy="return false" 
onmouseup="document.selection.empty()">
<div id="main">

  <ul id="usertable" >
    <li class="h">姓名</li>
    <li class="h">年龄</li>
    <li class="h">生日</li>
    <li class="h">性别</li>
    <li class="h">籍贯</li>
    <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
   <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
    <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
    <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
  </ul>
  <ul id="stutable" >
    <li class="h">姓名</li>
    <li class="h">年龄</li>
    <li class="h">生日</li>
    <li class="h">性别</li>
    <li class="h">籍贯</li>
    <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
   <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
    <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
    <li>foerver</li>
    <li>22</li>
    <li>1986-08-11</li>
    <li>男</li>
    <li>四川</li>
  </ul>
  <div>
  	初始鼠标点击坐标x:<input type="text" id="initX" value="0"/><br/>
  	初始鼠标点击坐标y:<input type="text" id="initY" value="0"/><br/>
  	结束鼠标释放坐标x:<input type="text" id="endX" value="0"/><br/>
  	结束鼠标释放坐标y:<input type="text" id="endY" value="0"/><br/>
  	横坐标移动距离:<input type="text" id="xspace"/><br/>
  	纵坐标移动距离:<input type="text" id="yspace"/><br/>
  	表格状态:<input type="text" id="status"/><br/>
  	当前鼠标x:<input type="text" id="mouseX"  /><br/>
  	当前鼠标y:<input type="text" id="mouseY" /><br/>
  	表格初始left:<input type="text" id="initLeft" /><br/>
  	表格初始top:<input type="text" id="initTop" /><br/>
  	表格结束left:<input type="text" id="endLeft" /><br/>
  	表格结束top:<input type="text" id="endTop" /><br/>
  </div>
</div>
</body>
</html>

 

  • 大小: 81.5 KB
1
0
分享到:
评论

相关推荐

    jquery简单实现拖拽效果

    本文将深入探讨如何使用jQuery实现简单的拖拽效果,让你的网页元素能够随心所欲地移动。 首先,拖拽效果的核心在于捕获鼠标事件,包括`mousedown`(鼠标按下)、`mousemove`(鼠标移动)和`mouseup`(鼠标释放)。...

    jquery实现table拖拽列效果

    用jquery实现table拖拽列功能,可动态改变表格列宽度,并且实现table表格100%的问题,如果列缩小,则自动拉伸最后一列以实现table100%的效果,如果拉伸长度比原长度大,则显示x滚动条。

    jquery实现拖拽

    本文将深入探讨如何使用jQuery实现拖拽功能,适用于表格和控件,以提供良好的用户体验。 首先,我们需要了解jQuery的核心概念。jQuery通过链式调用、选择器、事件处理和高效的操作DOM元素等特性,使JavaScript编程...

    Javascript jquery 实现 拖拽, 和吸附功能

    在JavaScript和jQuery的世界里,实现元素的拖拽(Draggable)和吸附(Docking)功能是一项常见的需求,尤其是在创建交互式用户界面时。本篇将深入讲解如何利用这两种技术来增强网页的动态性和用户体验。 首先,...

    jquery实现拖拽效果

    本文将深入探讨如何使用jQuery实现拖拽效果,这是网页交互设计中的一个常见功能,通常用于创建可自定义布局的元素,如拖动窗口或调整元素位置。 首先,jQuery UI库提供了一个内置的`draggable()`方法,使得实现拖拽...

    JQueryUI拖拽效果

    "JQueryUI拖拽效果"是其中的一个核心功能,它允许用户通过简单的API调用来实现元素在页面上的拖放操作。 1. **拖拽功能的实现** jQueryUI的`draggable()`方法用于将任何HTML元素变为可拖动的对象。只需在目标元素...

    Jquery 实现列的拖动 jquery grid

    本文将详细讲解如何利用jQuery实现网格(Grid)中的列拖动功能,以及如何展示和压缩内容,以达到类似Excel的效果。 首先,我们需要引入jQuery库和jQuery Grid插件的相关文件。jQuery Grid通常基于jQuery UI,因此...

    jQueryUI拖拽效果_拖拽div的值到table表格里面

    总结,实现jQuery UI拖拽效果的关键在于正确配置`draggable`和`droppable`组件,并确保HTML结构支持拖放行为。通过结合JavaScript和CSS,我们可以创建出直观且易于使用的用户界面,让用户能够方便地将div中的数据...

    jQuery实现平面图区域标记拖拽移动效果

    在本文中,我们将深入探讨如何使用jQuery库来实现一个平面图区域标记的拖拽移动效果。这个功能在很多场合都非常实用,例如...记住,实践是检验理论的最好方式,动手尝试并根据实际情况调整代码,以达到理想的拖拽效果。

    jquery div拖动排序效果代码.zip

    本教程将详细讲解如何利用jQuery实现一个div元素的拖动排序效果,结合CSS样式,创建出一款从左到右慢慢展开且可自由拖动排序的特效。 首先,我们需要在HTML中设置好基础结构。创建一系列的div元素,每个div代表一个...

    JQuery实现图片拖拽替换效果

    在本文中,我们将深入探讨如何使用JQuery库来实现一个有趣的交互功能——图片拖拽替换效果。这个功能允许用户通过拖放操作来替换页面上的图片,增强了用户体验并提供了直观的界面交互。 首先,我们需要理解JQuery的...

    jquery实现九宫格图片拖动效果

    在本文中,我们将深入探讨如何使用jQuery库来实现一个九宫格图片拖动效果,让图片可以在网格中自由拖拽并排序。这个功能通常应用于图片展示、拼图游戏或者个性化布局的设计中,能够提供用户友好的交互体验。 首先,...

    jquery图片拖拽实例(支持鼠标双击事件拖拽图片)效果代码

    在本实例中,我们将深入探讨如何使用jQuery库实现一个图片拖拽功能,同时支持鼠标双击事件来开启拖拽操作。jQuery是一个强大的JavaScript库,它简化了DOM操作、事件处理和动画制作等任务,使得创建交互式的网页变得...

    jquery实现滑块拖动及分数计算

    总结一下,实现“jQuery实现滑块拖动及分数计算”主要包括以下步骤: 1. 创建HTML结构,包含一个`&lt;input type="range"&gt;`滑块元素。 2. 使用jQuery监听滑块的`change`和`input`事件,获取并处理滑块值。 3. 定义分数...

    jQuery实现spliter效果

    在本话题中,我们将深入探讨如何利用jQuery实现Splitter效果,这是一种常见的布局技术,允许用户动态调整两个或多个内容区域的大小。 Splitter效果通常用于创建可自定义分隔的窗口或面板,比如在IDE、文档编辑器...

    jQuery实现仿Google首页拖动效果的方法

    jQuery实现仿Google首页拖动效果涉及的主要知识点包括: 1. jQuery基础: jQuery是一个快速、简洁的JavaScript库,它通过简化HTML文档遍历、事件处理、动画和Ajax交互,使Web开发变得更加方便。实现拖动效果,重点...

    jquery全景拖动查看效果.zip

    《jQuery全景拖动查看效果详解》 在网页设计与开发中,吸引用户的交互元素往往能够提升网站的用户体验。其中,jQuery全景拖动查看效果是一种创新的视觉呈现方式,它允许用户通过拖动小图来查看大图的不同部分,同时...

    Jquery Sortable实现div拖动排序效果

    本篇文章将深入探讨如何使用 jQuery Sortable 实现div的拖动排序效果。 首先,你需要在项目中引入 jQuery 和 jQuery UI 的库。jQuery 是一个广泛使用的JavaScript库,而 jQuery UI 提供了包括Sortable在内的多种...

    jQuery鼠标上下拖动div排序代码

    《jQuery实现鼠标拖动div排序技术详解》 在网页开发中,用户交互体验是至关重要的。其中,元素的可拖动排序功能可以让用户更加直观地调整界面布局,提高使用便捷性。本文将深入探讨如何利用jQuery库实现鼠标上下...

    JQuery拖拽排序效果

    本主题将深入探讨如何使用jQuery实现拖拽排序的效果,这种效果在各种列表和菜单应用中非常常见,比如任务管理器、购物清单或者自定义布局的界面。 标题中的“JQuery拖拽排序效果”指的是利用jQuery库实现的功能,...

Global site tag (gtag.js) - Google Analytics