1、首先,如图在浏览页面内有一个img标签,id为my-bigimg。稍后将实现这个图片/或者div盒子的拖拽移动。
2、首先,可以用jQuery给这个控件添加load处理函数,在这个img图片已经载入后,进行参数初始化,和其它事件的添加。
3、在load处理函数内,首先根据id获取要被拖动的标签,用变量drag保存,在这里,是img标签所在div盒子。用变量isdown记录鼠标按下情况,用diffX和diffY记录点击位置在控件内的邹败羯攉偏移量。
4、接下来,给drag标签的onmousedown鼠标按下添加处理函数,记录偏移并且设置按下为true。
5、然后,在document的onmousemove鼠标移动添加处理函数,如果isDown==false直接返回,否则,计算移动位置,移动。其中的if判断保证控件不被拖出页面外。
6、接着在document的onmouseup鼠标抬起添加处理函数,设置isDown为false。
7、另外,由于img标签的图片自带拖动效果,为了保证正常拖动,需要禁用img标签的默认效果。如图使用preventDefault()实现。