Rumah > hujung hadapan web > tutorial js > jQuery拖动div、移动div、弹出层实现原理及示例_jquery

jQuery拖动div、移动div、弹出层实现原理及示例_jquery

WBOY
Lepaskan: 2016-05-16 16:53:02
asal
1264 orang telah melayarinya

代码演示:

http://www.imqing.com/demo/movediv.html

大概原理:

使div的position为绝对定位absolute,然后控制其top与left值,需要监听鼠标事件,主要用到mousedown, mousemove, mouseup。

在mousedown后,记录mousedown时鼠标与需要移动的div的位置,然后取得两者之差,得到在鼠标移动后,div的位置。即:

left = 当前鼠标位置.x - (鼠标点击时的.x值 - div的初始位置x值)
top = 当前鼠标位置.y - (鼠标点击时的.y值 - div的初始位置y值)

代码:

复制代码 代码如下:





Qing's Web







这里是其它内容



<script> <BR>jQuery(document).ready( <BR>function () { <BR>$('#banner').mousedown( <BR>function (event) { <BR>var isMove = true; <BR>var abs_x = event.pageX - $('div.moveBar').offset().left; <BR>var abs_y = event.pageY - $('div.moveBar').offset().top; <BR>$(document).mousemove(function (event) { <BR>if (isMove) { <BR>var obj = $('div.moveBar'); <BR>obj.css({'left':event.pageX - abs_x, 'top':event.pageY - abs_y}); <BR>} <BR>} <BR>).mouseup( <BR>function () { <BR>isMove = false; <BR>} <BR>); <BR>} <BR>); <BR>} <BR>); <BR></script>



其实代码量也不多的,嘿嘿。要点就是需要移动的div的position是绝对定位,然后检测鼠标事件就行了。嘿嘿。
Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan