0

我有一个包含图像的 div,可以在 div 内拖动该图像以获取图像裁剪的坐标。我能够获得正确的坐标,但是一旦我将图像拖动到某个位置,我就无法重新拖动到另一个位置,如果我不喜欢图像的细节......我哪里出错了......最终位置 x + y 将被保存到隐藏的输入中......这是我的代码:

    <!-- Div container 350x350px with border where detail of image can be chosen -->
<div id="draggable">
    <!-- Image (bigger than div draggable) that is draggable in the div -->
<img id="dragimg" src="<?php echo $path_to_image_directory.$filename; ?>" />
</div>


<script type="text/javascript">
    $(document).ready(function() {
        $("#dragimg").draggable({
            stop: function(){
                var finalxPos = $(this).css('left');
                var finalyPos = $(this).css('top');
                //  alert( "Drag stopped!\n\nOffset: (" 
                + finalxPos + ", " + 
                finalyPos + ")\n");
                $('#crop [name="finalX"]').val(finalxPos);
                $('#crop [name="finalY"]').val(finalyPos);
            }
        });
    });
</script>

你能帮我解决我的问题吗?

4

1 回答 1

1

要在他的父母中获得绝对位置是 .position()

$('.object').bind('drag',function(){

 var obj = $(this);
 var position = obj.position();
 var leftpos = position.left;
 var toppos = position.top;
 });

你可以添加一个输入 val 函数,比如

<input type="text" name="top" id="topVal"/>

并在绑定函数中

$('#topVal').val(toppos);
于 2012-05-16T23:07:50.310 回答