半路杀入java的gravatar头像
半路杀入java 2014-08-25 18:43:35

Jquery拖动Div如何实现对齐div时出现对齐线

如下图,我有3个可以拖动的div,我希望的效果是拖动其中一个的时候与任意同级div对齐的时候出现水平线,但是目前的情况是 拖动div2 与div3  ,当与div1对齐的时候出现水平线,而div2和div3没有水平线,贴上代码  希望大家能帮我看看,谢谢Jquery拖动Div如何实现对齐div时出现对齐线

 

var down=false;
				var leftequal=false;
				var topequal=false;
				var finalleft;
				var finaltop;
				$("#draggable"+count).mousemove(function(e){
					if(down){
						var left=$(this).css("left");
						var top=$(this).css("top");
						var newtop=parseInt(top);
						var newleft=parseInt(left);
						finalleft=newleft+"px";
						finaltop=newtop+"px";
						$("#finaltop").val(finaltop);
						$("#finalleft").val(finalleft);
						$(this).siblings().each(function(){
							var selftop=$(this).css("top");
							var newselftop=parseInt(selftop);
							var selfleft=$(this).css("left");
							var newselfleft=parseInt(selfleft);
							if(newtop==newselftop){
								topequal=true;
								document.getElementById("hr22").style.display='block';
								document.getElementById("hr22").style.top=finaltop; 
							}
							if(newleft==newselfleft){
								leftequal=true;
								document.getElementById("hr11").style.display='block';
								document.getElementById("hr11").style.left=finalleft; 
							}
							if(newleft!=newselfleft){
								leftequal=false;
								document.getElementById("hr11").style.display='none';
							}
							if(newtop!=newselftop){
								topequal=false;
								document.getElementById("hr22").style.display='none';
							}
						  });
					}
				});
				$("#draggable"+count).mousedown(function(e){
					down=true;
					relpos = $(this).offset();
					var relpos_top = relpos.top +"px";
					var relpos_left = relpos.left + "px";
					$(this).css({"position":"absolute","top":relpos_top,"left":relpos_left});
				});
				$("#draggable"+count).mouseup(function(){
					down=false;
					abspos=$(this).offset();
					var abspos_top = abspos.top +"px";
					var abspos_left = abspos.left + "px";
					$(this).css({"position":"absolute","top":abspos_top,"left":abspos_left});
					$(this).siblings().each(function(){
						if(leftequal){
						$("#draggable"+count).css("left",finalleft);
						//$(this).css("left",finalleft);
						}
						if(topequal){
							$("#draggable"+count).css("top",finaltop);
							//$(this).css("top",finaltop);
						}
					});
					document.getElementById("hr11").style.display='none'; 
					document.getElementById("hr22").style.display='none';
				});
				dragdivcenter();
			});

 

其中定义好了水平线,默认是隐藏的

<hr id="hr11" style="border:1px dashed #F00;width:0.5px;height:800px;left:0px;top:0px;position:absolute;display:none" />

所有回答列表(1)
半路杀入java的gravatar头像
半路杀入java  LV3 2014年8月25日

蛮烦各位帮我看下问题出现在那儿?那段循环有问题么?还有个小问题就是 为什么我这边Px会出现小数点,火狐里面还好,最多一位,谷歌里面8、9为的情况也有

顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友