Javascript 根据鼠标移动拖动图像

Javascript 根据鼠标移动拖动图像,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我想根据鼠标移动拖动一个图像。问题是,每当拖动开始时,图像的顶部和左侧位置会随着鼠标位置的变化而突然改变 启动时,不应突然移动到鼠标位置。我想让它感觉像正常的拖动,但每当我开始移动鼠标时,位置都会改变 var mousedown = false; var p; var x=0,y=0; var flag1 = 0; $("#blue3").mousedown(function(){ if(mousedown) { mousedown = false; c

我想根据鼠标移动拖动一个图像。问题是,每当拖动开始时,图像的顶部和左侧位置会随着鼠标位置的变化而突然改变

启动时,不应突然移动到鼠标位置。我想让它感觉像正常的拖动,但每当我开始移动鼠标时,位置都会改变

var mousedown = false;
var p;
var x=0,y=0;
var flag1 = 0;

$("#blue3").mousedown(function(){
    if(mousedown) {
        mousedown = false;
        console.log("mouse down is true");
    } else {
        mousedown = true;
        console.log("mouse down is true");
    }

});  

$("#blue3").mouseup(function(){
    if(mousedown) {
        mousedown = true;
        console.log("mouse down is false");
    } else {
        flag1 = 1;
        x = p.left;
        y = p.top;
        mousedown = false;
        console.log("mouse down is false");
    }

}); 

$("#blue3").mousemove(function(event) {
    p = $("#blue3").position();

    if(mousedown) {   
        console.log("mouse left" + event.pageX);
        console.log("image left" + p.left);
        console.log("mouse top" + event.pageY);
        console.log("ima top" + p.top);

        $("#blue3").css({"left" : event.pageX, "top" : event.pageY });
        $("#blue").css({"left" : event.pageX, "top" : event.pageY});    
    }

});

您可以在
mouseup
函数中包含html和css吗?您可以检查
if(mousedown){…}
,然后设置
mousedown=true
,即使您登录
“mouse down is false”
。这是故意的吗?是的。告诉我,当鼠标移动开始时,它会将图像的位置与鼠标的位置加或减,这样它就不会再次选择图像的旧位置并从那里开始拖动。它没有任何意义。你能在你的
mouseup
函数中包含html和css吗?你检查
如果(mousedown){…}
,然后设置
mousedown=true
,即使你登录
“mouse down是false”
。这是故意的吗?是的。告诉我,当鼠标移动开始时,它会将图像的位置与鼠标的位置加或减,这样它就不会再次选择图像的旧位置并从那里开始拖动。这没有任何意义。