【问题标题】:jQuery .offset setting y valuejQuery .offset 设置 y 值
【发布时间】:2011-06-04 17:03:27
【问题描述】:

我是 jQuery 的新手。请问有人可以回答吗?

我知道我会用下面这行代码将 layer1 设置为 layer2 的位置。

$("#layer1").offset($("#layer2").offset());

如何设置 y 值?我不确定。

谢谢

【问题讨论】:

    标签: jquery css offset


    【解决方案1】:

    .offest() 的 jQuery 文档如下:

    .offset() 返回一个包含 top 和 left 属性的对象。

    知道了这一点,你就可以做到以下几点:

    var offset = $("#layer2").offset();
    $("#layer1").css({
        'top' : offset.top,
        'left': offset.left
    });  
    

    或者,您可以根据需要单独设置它们。

    $("#layer1").css('top', offset.top);  // or...
    $("#layer1").css('left', offset.left);
    

    最后,由于您只需要一个值(顶部),因此偏移量太大了;它比你需要的要贵。请改用以下优化的 sn-p。

    var top = $('#layer2').css('top');
    $('#layer1').css('top', top);
    

    【讨论】:

      【解决方案2】:

      只需使用/设置 css top 属性

      $("#layer1").css("top",$("#layer2").css("top"));
      

      【讨论】:

        【解决方案3】:
        $("#layer1").css({
          'top': $("#layer2").offset().top
        });
        

        EDIT .top/.left 似乎是设置器。
        EDITv2 可以设置偏移量,但必须通过 .offset() 方法完成。

        【讨论】:

          【解决方案4】:

          根据 http://api.jquery.com/offset/

          $("p:last").offset({ top: 10, left: 30 });
          

          可以使用。因此,您应该能够只删除您想要的不想要的。

          【讨论】:

            【解决方案5】:

            使用 offset.top 和 offset.left - 它们是 x 和 y 的.. offset() 本身返回 x 和 y(或顶部和左侧)

            【讨论】:

            • 为了混淆起见,应该明确 topYleftX。您没有分别提及它们,只是想增加清晰度。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2015-10-07
            • 1970-01-01
            • 2014-09-25
            • 1970-01-01
            • 1970-01-01
            • 2012-12-07
            • 2014-10-12
            相关资源
            最近更新 更多