Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/435.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 设置可拖动对象的顶部和左侧位置_Javascript_Jquery_Css - Fatal编程技术网

Javascript 设置可拖动对象的顶部和左侧位置

Javascript 设置可拖动对象的顶部和左侧位置,javascript,jquery,css,Javascript,Jquery,Css,我将一个可拖动对象设置为“位置:相对”,但只有当我拖动它并希望该对象保持在其初始空间时,我才需要将其从相对更改为绝对。 我尝试以这种方式设置“拖动”: $('obj').draggable({ cursor: 'move', revert: true, drag: function () { var posizione = $(this).position(); var posizione_x = posizione.left;

我将一个可拖动对象设置为“位置:相对”,但只有当我拖动它并希望该对象保持在其初始空间时,我才需要将其从相对更改为绝对。 我尝试以这种方式设置“拖动”:

$('obj').draggable({
    cursor: 'move',
    revert: true,
    drag: function () {
        var posizione = $(this).position();
        var posizione_x = posizione.left;
        var posizione_y = posizione.top;
        $(this).css({
            "left": posizione_x,
            "top": posizione_y,
            "position": "absolute"
        });
    },
    stop: function () {
        $(this).css("position", "relative");
    }
})
或者以这种方式:

$('obj').draggable({
    cursor: 'move',
    revert: true,
    drag: function () {
        var posizione_x = $(this).offsetLeft;
        var posizione_y = $(this).offsetTop;
        $(this).css({
            "left": posizione_x,
            "top": posizione_y,
            "position": "absolute"
        });
    },
    stop: function () {
        $(this).css("position", "relative");
    }
})

但它不起作用

我想你需要
.offset()。左
.offset()。上

您能否详细说明“不工作”(控制台中的错误?发生了什么?如何定位元件?)

$('obj')
针对一个
标记,您确定您的元素是有针对性的吗


可能您尝试这样做:

.offset().left和-offset().top不起作用。不起作用=我的对象具有绝对位置,但具有top:0和left:0