帮助中心
获取牛币
联系我们
关于我们
版权声明
素材牛首页
微博登录
QQ登录
微信扫码登录
注册
登录
新浪微博
QQ登陆
微信登录
热门搜索:
小程序
支付
Java
后台模板
上传
商城模板
jQuery
手机
Thinkphp
微信
Vue.js
首 页
网页特效
整站源码
PHP实例
网站模版
工具箱
常用代码
论坛
游戏源码
资源分享
当前位置:
首页
»
精选常用代码
» jQuery实现拖动效果
jQuery实现拖动效果
浏览:510次
-
评论:0次
-
发布时间:2017-03-09
Html
Css
Js
自己动手试试
点击鼠标拖拖看
.page { text-align:left; } .dragDiv { border:1px solid #ddd; padding:10px; width:300px; margin:0 auto; border-radius:4px; box-shadow:0 1px 2px #fefefe; position:fixed; }
var _drag = {}; _drag.top = 0; //拖动过的位置距离上边 _drag.left = 0; //拖动过的位置距离左边 _drag.maxLeft; //距离左边最大的距离 _drag.maxTop; //距离上边最大的距离 _drag.dragging = false; //是否拖动标志 //拖动函数 function bindDrag(el) { var winWidth = $(window).width(), winHeight = $(window).height(), objWidth = $(el).outerWidth(), objHeight = $(el).outerHeight(); _drag.maxLeft = winWidth - objWidth, _drag.maxTop = winHeight - objHeight; var els = el.style, x = 0, y = 0; var objTop = $(el).offset().top, objLeft = $(el).offset().left; $(el).mousedown(function(e) { _drag.dragging = true; _drag.isDragged = true; x = e.clientX - el.offsetLeft; y = e.clientY - el.offsetTop; el.setCapture && el.setCapture(); $(document).bind('mousemove', mouseMove).bind('mouseup', mouseUp); return false; }); function mouseMove(e) { e = e || window.event; if (_drag.dragging) { _drag.top = e.clientY - y; _drag.left = e.clientX - x; _drag.top = _drag.top > _drag.maxTop ? _drag.maxTop: _drag.top; _drag.left = _drag.left > _drag.maxLeft ? _drag.maxLeft: _drag.left; _drag.top = _drag.top < 0 ? 0 : _drag.top; _drag.left = _drag.left < 0 ? 0 : _drag.left; els.top = _drag.top + 'px'; els.left = _drag.left + 'px'; return false; } } function mouseUp(e) { _drag.dragging = false; el.releaseCapture && el.releaseCapture(); e.cancelBubble = true; $(document).unbind('mousemove', mouseMove).unbind('mouseup', mouseUp); } $(window).resize(function() { var winWidth = $(window).width(), winHeight = $(window).height(), el = $(el), elWidth = el.outerWidth(), elHeight = el.outerHeight(), elLeft = parseFloat(el.css('left')), elTop = parseFloat(el.css('top')); _drag.maxLeft = winWidth - elWidth; _drag.maxTop = winHeight - elHeight; _drag.top = _drag.maxTop < elTop ? _drag.maxTop: elTop; _drag.left = _drag.maxLeft < elLeft ? _drag.maxLeft: elLeft; el.css({ top: _drag.top, left: _drag.left }) }) } bindDrag(document.getElementById('drag'));
↑上面代码改变,会自动显示代码结果
jQuery调用版本:
1.11.3
<!doctype html><html><head><meta charset="utf-8"><title>jQuery实现拖动效果-www.sucainiu.com</title><script src="https://libs.baidu.com/jquery/1.11.3/jquery.min.js"></script><style>
</style></head><body>
<script>
</script>
</body></html>
立即下载
收藏
积分说明:注册即送10牛币,每日签到可获得5牛币,成为VIP会员可永久免牛币下载!
充值积分
充值会员
更多说明»
代码描述:jquery实现拖动效果的示例代码
jQuery基于正则表达式的表单验证功能示例
jQuery代码实现实时获取时间
讨论这个常用代码(0)
回答他人问题或分享心得会奖励牛币
〒_〒 居然一个评论都没有……
文明上网,理性发言! 😉 阿里云幸运券,
戳我领取
发表评论
提交回复
我的积分余额:
0
已下载次数:
510
所需牛币:
5
开始下载
牛币获取:
签到、评论、充值
» 在线充值
(10牛币=1元)
成为VIP可永久免积分下载全部常用代码
» 查看详情
VIP
客服
签到
充值