Jquery,get position()。元素的右边?

Jquery,get position()。元素的右边?,jquery,position,Jquery,Position,所以我正在制作一个可拖动的图像 非常简单,当您将图像拖动到特定位置的左侧或右侧时,我希望图像恢复到左侧或右侧 在下面的提琴中,我有左侧的功能。但是我不太确定确定确定右侧的最佳方法是什么,因为Jquery只允许top和left属性 考虑以下代码: $(function() { $(".headerimage").css('cursor', 's-resize'); var y1 = $('.picturecontainer').height(); var y2 = $('.headerimage'

所以我正在制作一个可拖动的图像

非常简单,当您将图像拖动到特定位置的左侧或右侧时,我希望图像恢复到左侧或右侧

在下面的提琴中,我有左侧的功能。但是我不太确定确定确定右侧的最佳方法是什么,因为Jquery只允许top和left属性

考虑以下代码:

$(function() {
$(".headerimage").css('cursor', 's-resize');
var y1 = $('.picturecontainer').height();
var y2 = $('.headerimage').height();
$(".headerimage").draggable({
    scroll: false,
    drag: function(event, ui) {
        if (ui.position.left >= 200) {
            ui.position.left = 0;
        }
    },
    stop: function(event, ui) {
        //####
    }
});

做位置左+宽度

$(ui).position().left + $(ui).width();

位置左+宽度

$(ui).position().left + $(ui).width();
这个怎么样

drag: function(event, ui) {
       if (ui.position.left >= 200 || ui.position.left <= -300) {
               ui.position.left = 0;
       }
},
拖动:函数(事件、ui){
如果(ui.position.left>=200 | | ui.position.left=200 | | | ui.position.left这个呢

drag: function(event, ui) {
       if (ui.position.left >= 200 || ui.position.left <= -300) {
               ui.position.left = 0;
       }
},
拖动:函数(事件、ui){

如果(ui.position.left>=200 | | ui.position.left=200 | | ui.position.left要获取元素右侧的位置,我使用以下jQuery:

var target = $("selector");
var result = target.position().left + target.width();

获取此值时,请确保元素已完全呈现。否则,结果可能会关闭。

要获取元素右侧的位置,请使用以下jQuery:

var target = $("selector");
var result = target.position().left + target.width();
获取此值时,请确保元素已完全渲染。否则,结果可能会关闭。

此值如何:

var rightOffset = $('.parent').width() - ( $(target).position().left +  $(target).width() )
注意:如果目标元素周围有边距和边框,我认为这不应该起作用,不确定这是否可以通过框大小来解决:边框框这一个怎么样:

var rightOffset = $('.parent').width() - ( $(target).position().left +  $(target).width() )
注意:如果目标元素周围有边距和边框,我认为这不应该起作用,不确定这是否可以通过框大小来解决:边框框

以获得右位置=0。设置左位置=左位置,不设置边距css

var leftposition = $(parent).width()-$(child).width();
要获得位置right=0。设置left=leftposition,但不设置边距css

var leftposition = $(parent).width()-$(child).width();
这是我的工作:

(function($) {
    $.fn.Right = function() 
    {
        return this.parent().outerWidth() - this.position().left + this.outerWidth();
    };
 })(jQuery);
要使用它:

$("selector").Right();
这是我的工作:

(function($) {
    $.fn.Right = function() 
    {
        return this.parent().outerWidth() - this.position().left + this.outerWidth();
    };
 })(jQuery);
要使用它:

$("selector").Right();

您可以得到左边,然后将元素的宽度添加到元素中,以得到仍然相对于左边的右边。“右边”将是父元素的宽度-子元素的左边-子元素的宽度尝试
ui.position+ui.helper.outerWidth()
我将稍后对此进行试验。我没有使用outerWidth()方法。谢谢您可以得到左边,然后将元素的宽度添加到元素中,以得到仍然相对于左边的右边。“右边”将是父元素的宽度-子元素的左边-子元素的宽度请尝试
ui.position+ui.helper.outerWidth()
我将稍后对此进行试验。我没有使用outerWidth()方法还没有。Thanksmhh不确定这是否会起作用。这仍然是元素的左侧部分,不是吗?我实际上是在尝试使用width()昨天我想从位置中减去剩余的宽度,但我还是平躺在地上,谢谢你,虽然你可以用位置+宽度来获得右侧,但我在回答这个问题时太仓促了,这里有一把小提琴,我不确定这是否行得通。这仍然是元素的左侧部分,不是吗?我实际上是在尝试使用宽度()昨天我想从位置上减去剩余的宽度,但我是平直的,谢谢你想你可以用位置+宽度来得到正确的一面我是匆忙回答问题这里有一把小提琴啊,很好,甚至没有想到。回答得好。谢谢,很好,甚至没有想到。回答得好。谢谢