日期:2014-05-16  浏览次数:20420 次

关于js拖动排序的原理!!!
我现在想实现在网页上通过js拖动div实现div块之间的排序,求哪位大神可以讲述一下原理,或者给个介绍的文章链接。。。。。不胜感激!!!!

------解决方案--------------------
<!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=utf-8"/>

<title>Jeremy  -  DragDrop Test !</title>

<meta name="keywords" content="Javascript自由拖拽类" />
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>



<script type="text/javascript">

(function($)

{

$.extend({
//获取鼠标当前坐标
            mouseCoords:function(ev){
if(ev.pageX 
------解决方案--------------------
 ev.pageY){
    return {x:ev.pageX, y:ev.pageY};}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop  - document.body.clientTop
};
    },
//获取样式值
            getStyle:function(obj,styleName)
    {
return obj.currentStyle ? obj.currentStyle[styleName] : document.defaultView.getComputedStyle(obj,null)[styleName];
//                return obj.currentStyle ? obj.currentStyle[styleName] : document.defaultView.getComputedStyle(obj,null).getPropertyValue(styleName);
            }
       });  

// 元素拖拽插件
        $.fn.dragDrop = function(options)
{
var opts = $.extend({},$.fn.dragDrop.defaults,options);
return this.each(function(){
//是否正在拖动
                var bDraging = false;   
//移动的元素
                var moveEle = $(this);
//点击哪个元素,以触发移动。
                //该元素需要是被移动元素的子元素(比如标题等)
                var focuEle = opts.focuEle ? $(opts.focuEle,moveEle) : moveEle ;
if(!focuEle 
------解决方案--------------------
 focuEle.length<=0)
{
alert('focuEle is not found! the element must be a child of '+this.id);
return false;
}           &nb