如何用mouseup / move制作可拖动的对象?

时间:2014-02-09 20:11:19

标签: javascript jquery

我知道如何使用“mouseup / down / move”,在jquery中创建一个可拖动的对象,但我无法知道如何为多个对象 执行此操作。我的主要问题是如何选择我点击的对象。

这是我的一个对象的代码:

CSS

#hi {
width: 200px;
height: 200px;
background-color: red;
position:absolute;
}

jquery的

$(function(){
var click = false;
$('#hi').mousedown(function()
{
    click = true;
    console.log(click);
});
$('#hi').mouseup(function()
{
    click = false;
    console.log(click);
});

$(window).mousemove(function(e)
{
    if(click == true)
    {
        $('#hi').css('top',e.pageY);
        $('#hi').css('left',e.pageX);
    }
}); 
});

HTML

<div id="hi"></div>

任何帮助?

3 个答案:

答案 0 :(得分:1)

使用jQuery UI简单完成:http://jqueryui.com/draggable/

保持HTML和CSS,og使用这个JS:

$(function() {
    $("#hi").draggable();
});

答案 1 :(得分:0)

jQuery方便地为您提供用户点击其所有鼠标处理功能的对象。回调函数的当前范围(this)自动设置为该对象。

因此,如果你在这里用你的代码交换你的mousemove处理程序,它应该做的诀窍:

$(window).mousemove(function(e)
{
    if(click == true)
    {
        $(this).css('top',e.pageY);
        $(this).css('left',e.pageX);
    }
}); 

此外,如果您想要一个完整且易于使用的拖动对象解决方案,请尝试使用jQuery UI的Draggable:http://jqueryui.com/draggable/

答案 2 :(得分:0)

我建议查看jQuery Draggable库:http://jqueryui.com/draggable/