jquery - 使用 jQuery UI 拖动旋转且绝对定位的 div

标签 jquery jquery-ui css jquery-ui-draggable css-transforms

当我尝试使用 jQuery UI Draggable 拖动绝对定位和旋转的 div(使用 css3 transform:rotate(45deg))时,似乎 jQuery 不知道该元素的新原点在哪里旋转的 div 是。 因此,当您开始拖动时,div 会立即移开几个像素。

这里有一个 jsFiddle,你可以自己看看:http://jsfiddle.net/k7g7R/4/ (通过单击然后拖动来旋转 div)。

请注意,当可拖动 div 处于相对位置时,它可以正常工作。

有谁知道发生了什么事,以及如何解决这个问题?

最佳答案

可能与 jQuery offset() 有关,在 css3 转换后它是错误的: http://bugs.jqueryui.com/ticket/6844

我解决此问题的方法是在要旋转的对象周围放置一个包装器,并使该包装器可拖动。

<div id="container">
    <div id="wrap">
        <div id="object" style="left: 90px; top: 90px;">Click to rotate, and drag</div>
    </div>
</div>

查看您更新的 fiddle : http://jsfiddle.net/k7g7R/128/ (更新链接,因为缺少 jQueryRotate)

关于jquery - 使用 jQuery UI 拖动旋转且绝对定位的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18847896/

相关文章:

jquery - 如何不超过屏幕内容的高度?

jquery - 使用 blueimp 调试 IE 问题(jQuery 文件上传)

javascript - 使用ajax和perl更新html

javascript - Internet Explorer 11 中的 Jquery 对话框问题

css - 阻止 jQuery Mobile 样式覆盖我的样式?

jquery - offset().top 返回窗口对象

javascript - 回调中添加点击事件未绑定(bind)

jQuery UI Datepicker 月份和年份组合在 jQuery BlockUI(弹出)中不起作用

javascript - 调整 html 表格列的大小 (TD)

javascript - 如何使用 Javascript 同时更改同一页面中的两个背景图像?