Get and set position with jQuery .offset()

后端 未结 5 735
长发绾君心
长发绾君心 2020-12-07 14:06

How to get and set the position of an element with the jQuery .offset method?

Let\'s say I have a div layer1 and another layer2

相关标签:
5条回答
  • 2020-12-07 14:10

    It's doable but you have to know that using offset() sets the position of the element relative to the document:

    $('.layer1').offset( $('.layer2').offset() );
    
    0 讨论(0)
  • 2020-12-07 14:10
    var redBox = $(".post");
    
    var greenBox = $(".post1");
    
    var offset = redBox.offset();
    
    $(".post1").css({'left': +offset.left});
    $(".post1").html("Left :" +offset.left);
    

    http://jsfiddle.net/va836/159/

    0 讨论(0)
  • 2020-12-07 14:18
    //Get
    var p = $("#elementId");
    var offset = p.offset();
    
    //set
    $("#secondElementId").offset({ top: offset.top, left: offset.left});
    
    0 讨论(0)
  • 2020-12-07 14:28

    Here is an option. This is just for the x coordinates.

    var div1Pos = $("#div1").offset();
    var div1X = div1Pos.left;
    $('#div2').css({left: div1X});
    
    0 讨论(0)
  • 2020-12-07 14:30

    I recommend another option. jQuery UI has a new position feature that allows you to position elements relative to each other. For complete documentation and demo see: http://jqueryui.com/demos/position/#option-offset.

    Here's one way to position your elements using the position feature:

    var options = {
        "my": "top left",
        "at": "top left",
        "of": ".layer1"
    };
    $(".layer2").position(options);
    
    0 讨论(0)
提交回复
热议问题