使用jquery UI定位元素

时间:2012-03-12 14:46:16

标签: jquery jquery-ui coffeescript

我正在尝试创建一个元素并将其放在第二个元素之上。我想要的是将新元素放置在主元素上从左上角偏移的特定位置。当我运行下面的代码(Coffeescript)时,它会将div或多或少放在中间,但有点吼叫。它应该在左上角,我知道我一定做错了但我不知道是什么/

              $("<div>")                      
                    .appendTo(window.targetElement)
                    .position(
                            my                 : "top left"
                            at                 : "top left"
                            of                 : window.targetElement
                            offset             : "#{placeholder.left} #{placeholder.top}"
                    )

1 个答案:

答案 0 :(得分:1)

水平组件必须位于myat中的垂直组件之前:

$('<div>')
    .appendTo(window.targetElement)
    .position(
        my:     'left top'
        at:     'left top'
        of:     window.targetElement
        offset: "#{placeholder.left} #{placeholder.top}"
    )

演示:http://jsfiddle.net/ambiguous/WZc4r/

来自fine manual

  

是在
  定义要定位的元素上与目标元素对齐的位置:“水平垂直”对齐。 [...]

强调我的。演示代码还将水平部分放在第一位:

$( ".positionable" ).position({
    of: $( "#parent" ),
    my: $( "#my_horizontal" ).val() + " " + $( "#my_vertical" ).val(),
    at: $( "#at_horizontal" ).val() + " " + $( "#at_vertical" ).val(),
    //...

我猜这个订单很重要,因为他们希望myat匹配offset,但offset只是两个数字。