Javascript 如何捕捉div位置并稍后重新定位(在MAC上)

Javascript 如何捕捉div位置并稍后重新定位(在MAC上),javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在创建一个应用程序,其中将有可拖动的元素可供用户使用。我想保存元素的位置,以便稍后在同一位置重新定位。我在stackoverflow上发现了一些类似的问题,但看起来好像有人因为我遇到的相同问题而通过了考试。所以,我想知道我是否理解得不对 基本上我的问题是:元素位置的值可能会因窗口的调整而不同 示例:如果我捕捉到一个元素的左位置,并且我的窗口调整为其原始大小的50%,那么我的左位置将不同于100%大小 因此,如果用户将窗口中的元素减少50%,并在同一用户返回时保存,则如果窗口的大小不同,则元素

我正在创建一个应用程序,其中将有可拖动的元素可供用户使用。我想保存元素的位置,以便稍后在同一位置重新定位。我在stackoverflow上发现了一些类似的问题,但看起来好像有人因为我遇到的相同问题而通过了考试。所以,我想知道我是否理解得不对

基本上我的问题是:元素位置的值可能会因窗口的调整而不同

示例:如果我捕捉到一个元素的左位置,并且我的窗口调整为其原始大小的50%,那么我的左位置将不同于100%大小

因此,如果用户将窗口中的元素减少50%,并在同一用户返回时保存,则如果窗口的大小不同,则元素将变得混乱

我有这个例子

如果转到控制台,您将看到以下值:

console.log($('#section > li:eq(0)').find('.element:last()').position().left);
如果调整窗口大小,将得到不同的值

那么,我遗漏了什么,还是应该使用特定的方法

CSS:


有什么想法吗?

嗯,实际上我是想用最糟糕的方式

我的布局是流动的,因此所有内容都用%定义。当我试图重新定位元素时,我需要减去为布局元素的宽度保存的左位置,这些布局元素位于元素之前,但问题是这些布局元素可以根据窗口的调整更改其宽度,因此,分辨率也可能会影响

应该重新定位的我的元素位于用px定义的DIV元素内。所以,这种方法容易得多。我只是取出了浮动:从它的左边,得到了像$.css'left'这样的位置

问题在于我的方法。现在,我基本上得到并重新定位如下:

得到

重新定位

$('#section > li:first()').find('.element:last()').css('left', '536px');

啊!!我的元素最初是左浮动的。问题?我意识到问题恰恰在于float:left属性。一旦我找到一个解决方案来保持元素的有序性而不浮动:左,我将发布答案。
<div id="central-panel">

  <div id="template">
      <ul id="section">
        <li>

          <div class="element">1</div>
          <div class="element">2</div>
          <div class="element">3</div>
          <div class="element">4</div>

        </li>
        <li><span>::</span>Item 2</li>
        <li><span>::</span>Item 3</li>
        <li><span>::</span>Item 4</li>
      </ul>
  </div>

</div>
.element { 
float: none; 
}

#template {
width: 1000px; 
}
$('#section > li:first()').find('.element:last()').css('left')
$('#section > li:first()').find('.element:last()').css('left', '536px');