源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2020-01-31 00:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:jQuery拖动div、移动div、弹出层实现原理及示例
代码演示: 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值) 代码:
[u]复制代码[/u] 代码如下:
<!DOCTYPE html> <html lang="zh"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Qing's Web</title> <script src="./jquery-1.7.2.min.js" type="text/javascript"></script> <style type="text/css"> .footer { position: fixed; bottom: 0; width: 100%; } .moveBar { position: absolute; width: 250px; height: 300px; background: #666; border: solid 1px #000; } #banner { background: #52CCCC; cursor: move; } </style> </head> <body style="padding-top: 50px;"> <div class="moveBar"> <div id="banner">按住此处移动当前div</div> <div class="content">这里是其它内容</div> </div> <div class="footer"> <p align="center" class="label">ALL Rights Reserved Qing 版权所有</p> </div> <script> jQuery(document).ready( function () { $('#banner').mousedown( function (event) { var isMove = true; var abs_x = event.pageX - $('div.moveBar').offset().left; var abs_y = event.pageY - $('div.moveBar').offset().top; $(document).mousemove(function (event) { if (isMove) { var obj = $('div.moveBar'); obj.css({'left':event.pageX - abs_x, 'top':event.pageY - abs_y}); } } ).mouseup( function () { isMove = false; } ); } ); } ); </script> </body> </html>
其实代码量也不多的,嘿嘿。要点就是需要移动的div的position是绝对定位,然后检测鼠标事件就行了。嘿嘿。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部