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