Javascript jqueryui可拖动移动图像处理程序
如何使用处理程序获得可拖动的图像?我已经读到处理程序应该在可拖动的内部,但是我不能在图像中有其他元素 我这里有一把小提琴,以便更好地演示: 问题是,我应该如何才能在Javascript jqueryui可拖动移动图像处理程序,javascript,jquery,jquery-ui,jquery-ui-draggable,Javascript,Jquery,Jquery Ui,Jquery Ui Draggable,如何使用处理程序获得可拖动的图像?我已经读到处理程序应该在可拖动的内部,但是我不能在图像中有其他元素 我这里有一把小提琴,以便更好地演示: 问题是,我应该如何才能在#视口中拖动,同时仍然移动#图像 编辑 我觉得这个问题有点模糊: 因为现在(在小提琴上)当你先点击#图像并拖动时,它会拖动#图像。但是,当您首先单击#视口时,它不会。这就是我想要发生的,当你先点击#视口并拖动时,它仍然会拖动更新后的#图像。请阅读以下文档: 您必须在.draggable方法中使用包含选项,并且您还需要将图像放入#视
#视口
中拖动,同时仍然移动#图像
编辑
我觉得这个问题有点模糊:
因为现在(在小提琴上)当你先点击#图像
并拖动时,它会拖动#图像
。但是,当您首先单击#视口时,它不会。这就是我想要发生的,当你先点击#视口
并拖动时,它仍然会拖动更新后的#图像。请阅读以下文档:
您必须在.draggable
方法中使用包含选项,并且您还需要将图像放入#视口
中,以使其最初位于#视口
中。您还可以将其保持在#视口
之外,一旦您将其拖动到#视口
之内,它就不会让您再将其拖动到外面 更新了您的。请阅读以下文档:
您必须在.draggable
方法中使用包含选项,并且您还需要将图像放入#视口
中,以使其最初位于#视口
中。您还可以将其保持在#视口
之外,一旦您将其拖动到#视口
之内,它就不会让您再将其拖动到外面 考虑到你的描述
我应该如何在#视口中拖动并仍然移动#图像
--使用简单的z索引css样式实现了这一点。希望这次能有所帮助。
考虑到你的描述
我应该如何在#视口中拖动并仍然移动#图像
--使用简单的z索引css样式实现了这一点。希望这次能有所帮助。
jquery draggable似乎要求将处理程序放在draggable中。您只需几行代码就可以编写自己的draggable。看我的演示
HTML:
jquerydraggable似乎要求将处理程序放在draggable中。您只需几行代码就可以编写自己的draggable。看我的演示
HTML:
谢谢你的回答,但那不是我需要的。我需要能够在#视口中定位图像的某一部分。但我希望它甚至可以在#视口框中拖动。对不起,我没有得到它。是否还要将图像拖到视口外?我真的无法理解你想要实现什么。好吧,我想要实现的事情与我发布的小提琴的工作原理相同,只是我希望#视口也能移动图像。希望能澄清。谢谢你的回答,但那不是我需要的。我需要能够在#视口中定位图像的某一部分。但我希望它甚至可以在#视口框中拖动。对不起,我没有得到它。是否还要将图像拖到视口外?我真的无法理解你想要实现什么。好吧,我想要实现的事情与我发布的小提琴的工作原理相同,只是我希望#视口也能移动图像。希望这能解决问题。嗨。对不起,如果我的问题有点含糊。我想做的是,当我在#视口
中单击第一个并开始拖动时,它仍然会移动#图像
。您好。对不起,如果我的问题有点含糊。我想做的是,当我在#视口
中单击第一个并开始拖动时,它仍然会移动#图像
。是的!看起来确实如此。我想现在没有选择了。感谢这种方法,这将起作用,但我正在使用其他东西以及coords,我想我仍然可以通过改变和捕捉动作来获得它,但我现在将继续使用jrac,只需将#视口放在下面,只需使用几个框即可。但是谢谢你!是的!看起来确实如此。我想现在没有选择了。感谢这种方法,这将起作用,但我正在使用其他东西以及coords,我想我仍然可以通过改变和捕捉动作来获得它,但我现在将继续使用jrac,只需将#视口放在下面,只需使用几个框即可。但是谢谢你!
<div id="container">
<img id="image" src="http://thechive.files.wordpress.com/2011/03/hot-sexy-redheads-12.jpg" />
<div id="viewport"></div>
</div>
$(document).ready(function(){
var isDragging,
top = 0, left = 0,
curX, curY;
$("#image").mousedown(function (e) {
e.preventDefault();
});
$("#container").mousedown(function (e) {
isDragging = true;
curX = e.pageX;
curY = e.pageY;
left = Number($("#image").css("margin-left").
toString().replace("px", ""));
top = Number($("#image").css("margin-top").
toString().replace("px", ""));
});
$(document).mouseup(function () {
if (isDragging){
// reset
isDragging = false;
top = 0;
left = 0;
}
});
$("#container").mousemove(function(e){
if (!isDragging) {
return;
}
left += e.pageX - curX;
top += e.pageY - curY;
// set the position
$("#image").css("margin-left", left + "px").
css("margin-top", top + "px");
curX = e.pageX;
curY = e.pageY;
});
});