您好,登錄后才能下訂單哦!
也是之前做的一個功能,相對于之前的完美版本,目前手頭只有個最開始做的草稿版,只支持firefox,但是之前完美版本已經找不到了,很悲催,這就是不知道總結的下場。
不過還是希望能夠留下一個功能稍微正常的版本,于是這次又重新檢查了一遍,略作修改,至少能兼容firefox和chrome,ie(只看過幾個版本),甚是粗略。
拖拽用戶到圈子范圍內效果:
拖拽用戶到圈子范圍內并放開鼠標效果:
全部代碼可以去附件里找,這里只貼出主要邏輯:
$("li[id^='t']").Drag( { //鼠標按下時,先把被選中的用戶資料復制到拖拽框中,然后可以有一些相對的樣式變化 MouseDown:function(e) { uid = $(this).attr("id").replace(/t/,""); mflag=true; var scrolltop = parseInt($(document).scrollTop()); $("#dragon").fadeTo("fast",0.7); $("#dragon").show(); $("#dragon").css("left",(parseInt(e.clientX)-10)+"px"); $("#dragon").css("top",(parseInt(e.clientY)-10 + scrolltop)+"px"); $("#dragon").html($('#t'+uid).html()); }, //當鼠標移動到或者移出某個圈子的范圍之內時,觸發該圈子的mouseover事件或mouseout事件 MouseMove:function(e) { if(mflag == true) { var scrolltop = parseInt($(document).scrollTop()); var mleft = mouse_pos[0] = parseInt(e.clientX); var mtop = mouse_pos[1] = parseInt(e.clientY); $("#dragon").show(); $("#dragon").css("left",(mleft-10)+"px"); $("#dragon").css("top",(mtop-10 + scrolltop)+"px"); $("div[id^='circle_sub_']").each( function() { var tmppos = $(this).offset(); tmppos.top=tmppos.top-scrolltop; if(mleft > tmppos.left && mleft < (parseInt(tmppos.left) + parseInt($(this).width())) && mtop > tmppos.top && mtop < (parseInt(tmppos.top) + parseInt($(this).height()))) { $(this).trigger("mouseover"); } else { $(this).trigger("mouseout"); } } ); } }, //鼠標抬起時,如果拖拽框在某個圈子范圍內,觸發添加圈子用戶的動作 MouseUp:function(e) { if(mflag == true) { mflag = false; var scrolltop = parseInt($(document).scrollTop()); var mleft = parseInt(e.clientX); var mtop = parseInt(e.clientY); $("#dragon").fadeTo("fast",1); $("#dragon").hide(); if(uid > 0) { $("div[id^='circle_sub_']").each( function() { var tmpid = $(this).attr("id").replace(/circle_sub_/,""); var tmppos = $(this).offset(); tmppos.top=tmppos.top-scrolltop; if(mleft > tmppos.left && mleft < (parseInt(tmppos.left) + parseInt($(this).width())) && mtop > tmppos.top && mtop < (parseInt(tmppos.top) + parseInt($(this).height()))) { $("#sub_node_"+tmpid).trigger("add_node",[uid]); uid = 0; } } ); } } }, MoveObj:$("#dragon"), OffMask:true, OffMod:true, BindInBox:false } );
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。