您的位置:首页 > 其它

【完美解决方案】控制div拖拽范围,让层在范围内拖动,不拖拽出边界值

2017-08-02 00:00 363 查看
摘要: 控制div拖拽范围,让层在范围内拖动,不拖拽出边界值

【完美解决方案】控制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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息