以编程方式将可拖动移动到位置

时间:2014-02-05 20:45:45

标签: javascript jquery jquery-ui jquery-ui-draggable

假设有一个可拖动的对象只能在一个轴上拖动。

有没有办法以编程方式移动它?要么开始,要么是三角洲。当然我可以去改变它的css left属性,但这不会触发jQuery提供的拖动事件。

我原本希望找到一个dragBy(x,y)方法给draggable。

以下是示例:http://jsfiddle.net/odyodyodys/daHU8/

HTML:

<div id="theButton">Reset position</div>
<div id="theDiv">Lorem ipsum dolor sit amet</div>

JS:

$("#theDiv").draggable({
    axis: "x",
    cursor: "pointer"
});

的CSS:

#theDiv {
    display:block;
    width: 100px;
    height: 100px;
    overflow: hidden;
    margin-top: 80px;
    background-color: green;
}
#theButton {
    border: 1px solid;
    width:80px;
    cursor: pointer;
}

有没有办法将可拖动元素(此处为theDiv)移动三角形或移动到x轴后的初始位置?

1 个答案:

答案 0 :(得分:4)

DEMO

使用额外的JavaScript来源,您可以实现您的目标。

来自jQuery UI:
jquery.simulate.js

来自第三方:
来源:http://j-ulrich.github.io/jquery-simulate-ext/
jquery.simulate.ext.js
jquery.simulate.drag-n-drop.js

为了让它变得如此简单而向j-ulrich道具。

function dragTo(x, y) {
    $("#draggable").simulate("drag-n-drop", {dx: x, dy: y, interpolation: { stepWidth: 1, stepDelay: 1}});
}