easyui缩放后的拖拽问题
来源:互联网 发布:java入门书籍推荐 知乎 编辑:程序博客网 时间:2024/06/16 20:27
在浏览器中,设置某个div的缩放,使用这个方法:
function div_zoom(zoom, transformOrigin, el) {transformOrigin = transformOrigin || [ 0, 0 ];el=el || g_PlumbInstance.getContainer();var p = [ "-webkit-", "-moz-", "-ms-", "-o-" ];var s = "scale(" + zoom + ")";var oString = (transformOrigin[0] * 100) + "% " + (transformOrigin[1] * 100) + "%";for (var i = 0; i < p.length; i++) {el.style[p[i] + "transform"] = s;el.style[p[i] + "transformOrigin"] = oString;}el.style["transform"] = s;el.style["transformOrigin"] = oString;};
对easyui1.4.4版本,使用draggable函数来拖拽一个zoom后的容器里面的元素,但是被拖拽元素的位置与鼠标之间存在2个问题:
- 开始拖拽时(鼠标按住),被拖拽元素会漂到一个不对的位置上;
- 鼠标移动拖拽时,被拖拽元素不跟随鼠标位置,差距越远越大。
不使用proxy时,需要修正如下:
$("#div_plcEditorDrag").draggable({onBeforeDrag:function(e){//因为有缩放,修正开始拖拽的漂移e.data.startTop =Math.round(e.data.startTop / g_plcEditorZoomScale);e.data.startLeft=Math.round(e.data.startLeft / g_plcEditorZoomScale); return true;},onStartDrag:function(e){},onDrag:function(e){//因为有缩放,修正被拖拽元件跟随鼠标var offset=$(e.data.parent).offset();e.data.top = (e.pageY-offset.top-e.data.offsetHeight)/g_plcEditorZoomScale; e.data.left = (e.pageX-offset.left-e.data.offsetWidth)/g_plcEditorZoomScale; },onStopDrag:function(e){}});//easyui的拖拽拖拽使用proxy时,需要如下修正:
divDrag.draggable({cursor : 'pointer',proxy : "clone",revert : true,onBeforeDrag:function(e){},onStartDrag: function (e) { plc_focuseElememt(divDrag); //延迟proxy,使有机会执行dblclick var proxy = $(this).draggable('proxy'); proxy.css('z-index', 20); proxy.hide(); setTimeout(function(){ proxy.show(); }, 500); }, onDrag: function(e){ //修正位置,使跟随鼠标位置 var offset=$(e.data.parent).offset();e.data.top = (e.pageY-offset.top-e.data.offsetHeight)/g_plcEditorZoomScale; e.data.left = (e.pageX-offset.left-e.data.offsetWidth)/g_plcEditorZoomScale; var proxy = $(this).draggable('proxy'); if (proxy){ proxy.show(); } }, onStopDrag:function(e){ }});
0 0
- easyui缩放后的拖拽问题
- 要素先闪烁后缩放的问题
- 地图缩放后Marker偏移的问题
- 游戏界面缩放后屏幕抖动的问题
- 软键盘弹出后,上部布局缩放的问题
- WebView缩放后左边内容被遮盖的问题
- easyUi 打开对话框后控件赋值,以及赋值后不显示的问题
- sdl的缩放问题
- UIImage的缩放问题
- sdl的缩放问题
- EasyUI的license问题
- easyui验证的问题
- easyUI的Combobox问题
- EasyUI 出现的问题
- easyui相关的问题
- 重映射houdini相机(解决相机缩放后渲染出现的问题)
- easyui combo 派生类 combobox, combogrid 失去焦点后的输入框的数据验证问题
- 关于jQuery EasyUI 中刷新Tab选项卡 后一个页面变形的问题的解决方法
- 关于unity5.x破解不了的问题(二)
- 服务器上传,时间超时 Apache 如何设置保持连接
- QVariant
- redis的基本类型及操作命令
- 设计模式读书笔记之组合模式(Composite)
- easyui缩放后的拖拽问题
- 机房水题欢乐赛 2016-04-26 上午
- 如何实现拼音与汉字的互相转换
- 设计模式读书笔记之单例模式(Singleton)
- 【代码笔记】iOS-iCarouselDemo
- 单片机多任务调度
- 设计模式读书笔记之备忘录模式(Memento)
- hdu2522 A simple problem(循环节)
- ubuntu 14.04 samba安装 解决指定的网络名不再可用