JavaScript:页面内拖动、解决页面内拖动选中文字的问题

承上:页面内拖拽方框

之前是在整个html文档中拖动div块,现在给div块加一个父级div,在父级div中拖动子div,如下:

JavaScript:页面内拖动、解决页面内拖动选中文字的问题_第1张图片

仅需在之前的基础上修改if判断语句中的可视区宽度。

		document.onmousemove = function(ev){
			var l = ev.clientX - disX;
			var t = ev.clientY - disY;
			if (l<30) {
				l = 0;
			} else if(l>oDiv2.offsetWidth-oDiv1.offsetWidth){
				l = oDiv2.offsetWidth-oDiv1.offsetWidth;
			}//div块不超出左右两边,oDiv2.offsetWidth是div2可视区的宽度
			if (t<30) {
				t = 0;
			} else if(t>oDiv2.offsetHeight-oDiv1.offsetHeight){
				t = oDiv2.offsetHeight-oDiv1.offsetHeight;
			}//div块不超出上下两边,oDiv2.offsetHeight是div2可视区的高度
			
			oDiv1.style.left = l + 'px';
			oDiv1.style.top = t + 'px';
		};

 完整实例:




	拖拽



ajsoigjiagioanreihirea
jloajosjog[adgoiaog]

最后加上一个return false语句,可以解决页面内拖动时选中文字的问题。

JavaScript:页面内拖动、解决页面内拖动选中文字的问题_第2张图片

下面if判断是为了增加吸附功能,当div1靠近div2的边框距离小于30个像素时,直接将距离置为零。

JavaScript:页面内拖动、解决页面内拖动选中文字的问题_第3张图片

你可能感兴趣的:(前端)