[封装插件]鼠标拖动元素跟随功能
2018-02-24 21:04
363 查看
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标拖动元素跟随功能</title> <!--百度在线压缩地址--> <script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script> <style> *{ margin:0; padding:0; } #divid{ width:100px; height: 100px; background:red; position: absolute; left:0; top:0; } </style> </head> <body> <!--<p>鼠标位于坐标: <span></span>.</p> });--> <div id="divid"> </div> <script type="text/javascript"> /** screenX:鼠标位置相对于用户屏幕水平偏移量,而screenY也就是垂直方向的,此时的参照点也就是原点是屏幕的左上角。 clientX:跟screenX相比就是将参照点改成了浏览器内容区域的左上角,该参照点会随之滚动条的移动而移动。 pageX:参照点也是浏览器内容区域的左上角,但它不会随着滚动条而变动 */ //完整的鼠标拖动案例封装方法 function drag(obj) { obj.bind("mousedown",start); function start(event){ //deltaX 和deltaY就表示鼠标在元素的那个位置 deltaX = event.clientX-obj.offset().left; deltaY = event.clientY-obj.offset().top; $(document).bind("mousemove",move); $(document).bind("mouseup",stop); return false; //防止出现拖动速度过快发生的滑出屏幕现象 } function move(event) { obj.css({ //然后元素的坐标就等于鼠标的位置减去鼠标和元素的偏移量 "left": (event.clientX - deltaX) + "px", "top": (event.clientY - deltaY) + "px", }) return false; //防止出现拖动速度过快发生的滑出屏幕现象 } function stop() { $(document).unbind("mousemove", move); //把所有的事件解绑 $(document).unbind("mouseup", stop); //把所有的事件解绑 } } obj = $("#divid"); drag(obj); //使用这种方法完成目的会有bug , 当元素移动到外边的时候,鼠标会跟随,鼠标释放事件就消失了 /* $("#divid").mousedown(function(){ $(document).bind("mousemove",function(e){ x = e.clientX; y = e.clientY; $("#divid").css({"top":y+"px","left":x+"px"}); }); $(this).mouseup(function(){ $(document).unbind("mousemove"); }); })*/ /* 使用JS的方式去实现 val = document.getElementById("divid"); ab1a val.onmousedown = function(){ document.onmousemove = function(event){ x = event.clientX; y = event.clientY; val.style.top = y+"px"; val.style.left = x+"px"; } } */ </script> </body> </html>
相关文章推荐
- draggabilly一款功能强大的拖动拖拽元素插件
- 页面内元素跟随鼠标移动和右键菜单组件功能
- 关于js拖拽功能,拖拽元素的position:fixed;left:0;right:0;样式引起左右拖动元素会出现落后鼠标移动距离的问题
- js实现鼠标拖动框选元素小狗
- JAVA--第五周实验--任务5--封装一类矩阵对象,该类对象具有初始化矩阵的功能、修改矩阵元素的功能
- javaScript屏蔽鼠标右键,F12及其它审查元素功能
- JavaScript 实现鼠标拖动元素
- [封装插件]Jquery中的CSS处理一览以及回到顶部按钮和鼠标悬停获取坐标的案例
- 封装的一个JS跟随鼠标效果
- 简单封装分页功能JQuery插件(含源码)
- 鼠标拖动窗体功能
- 模仿bootstrap做的 js tooltip (添加鼠标跟随功能)
- JQuery实现鼠标拖动元素移动位置
- JavaScript简单实现鼠标拖动选择功能
- jq实现鼠标移动到 图片上放大,移开图片缩小效果(打算封装成插件)
- 可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
- WinForm 实现鼠标拖动控件跟随效果(图文)
- cocos2dx三行代码实现拖动/鼠标跟随效果
- 图片放大时实现鼠标拖动查看完整图片功能