【完美解决方案】控制div拖拽范围,让层在范围内拖动,不拖拽出边界值
2017-08-02 00:00
363 查看
摘要: 控制div拖拽范围,让层在范围内拖动,不拖拽出边界值
【完美解决方案】控制div拖拽范围,让层在范围内拖动,不拖拽出边界值:
上面的代码只是我项目代码中的一个片段,提供一个思路。
如果理解有困难?没有关系!下面可以附上完整的一个demo!激动吧!!
【提示:下面链接打开后为演示页面,可以按F12查看drag.js文件源码】
demo地址:http://www.jq22.com/demo/jQuery-tddx20161230/
https://item.taobao.com/item.htm?spm=a230r.7195193.1997079397.8.wUqGkl&id=556142108693&abbucket=1
【完美解决方案】控制div拖拽范围,让层在范围内拖动,不拖拽出边界值:
var XNew = e.pageX; var YNew = e.pageY; var pageXOld = this.options.event.pageX; var pageYOld = this.options.event.pageY; var leftOld = this.options.oleft; var topOld = this.options.otop; var leftNew = leftOld + XNew - pageXOld; var topNew = topOld + YNew - pageYOld; var selfWidth = this.$element[0].offsetWidth; var selfHeight = this.$element[0].offsetHeight; var windowWidth = $(window).width(); var windowHeight = $(window).height(); if(leftNew > (windowWidth - selfWidth)){ this.$element.css('left', windowWidth - selfWidth); return; } if(topNew > (windowHeight - selfHeight)){ this.$element.css('top', windowHeight - selfHeight); return; } if(leftNew < 0){ this.$element.css('left', 0); return; } if(topNew < 0){ this.$element.css('top', 0); return; }
上面的代码只是我项目代码中的一个片段,提供一个思路。
如果理解有困难?没有关系!下面可以附上完整的一个demo!激动吧!!
【提示:下面链接打开后为演示页面,可以按F12查看drag.js文件源码】
demo地址:http://www.jq22.com/demo/jQuery-tddx20161230/
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
最后希望给同学们推荐一款我家卖的很好用且便宜的机械手感键盘,我自己也在用:[程序员就是要对自己好一点~]支持一下我的店铺吧~https://item.taobao.com/item.htm?spm=a230r.7195193.1997079397.8.wUqGkl&id=556142108693&abbucket=1
相关文章推荐
- 完美拖拽+拖动改变Div的宽高+关闭按钮[带演示]
- 完美拖拽+拖动改变Div的宽高+关闭按钮[带演示](转)
- 完美拖拽+拖动改变Div的宽高+关闭按钮
- JS控制div跳转到指定的位置的几种解决方案总结
- 完美拖拽,可返回拖动轨迹
- js完美的div拖拽实例代码
- 改进的table单元格拖拽,可限制能拖动的连续单元格范围
- CSS中DIV DL边框高度自动适应的完美解决方案
- Windows平台下使用Active Directory对Subversion进行权限控制(非完美解决方案)
- js完美的div拖拽实例代码
- 用div控制文字长度,超出范围用...表示
- js实现完美拖拽效果可拖动层与回放拖动规迹并显示拖动距离参数
- 8点改变div大小之控制范围
- 完美的JsDiv拖动层
- 基于jquery完美拖拽,可返回拖动轨迹
- extjs 控制一个组件component在panel里面限制拉动与拖动范围
- DIV+CSS浮动布局完美解决方案
- 纯JS控制DIV选择范围移动与复制 改进版
- flex4 弹框拖动范围控制
- JS控制div跳转到指定的位置的解决方案总结