這是一個晦澀難懂的問題,但我使用jQuery Sortables並試圖讓兩個連接的列表很好地協作,當一個被定位爲fixed
時。這一切都正常工作,直到你滾動頁面一點,使兩個列表最終位於彼此的頂部。然後,這些列表似乎對於哪個應該接受被拖動的項目感到困惑,這意味着當每個列表出現/消失時,會發生一連串的抖動。處理重疊的jQuery可排序列表
它看起來像問題是,這兩個名單正在處理鼠標/排序活動自被拖動的項目在技術上是在兩個名單,但我要的是有重疊列表(即position: fixed
之一)吞事件以便底層的主要列表不會嘗試接收該項目。
這裏是最小的代碼示例:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.6/jquery-ui.min.js"></script>
<style type="text/css">
ul { list-style-type: none; padding: 0; float: left; }
li { margin: 5px; padding: 5px; width: 500px; border: solid 1px #F00; background-color: #FFF; }
#overlayed { position: fixed; top: 0; background-color: #000; margin: 20px; padding: 10px; }
#overlayed li { width: 50px; float: left; }
</style>
<script type="text/javascript">
$(function() {
$("ul").sortable({ connectWith: "ul", opacity: 0.6 }).disableSelection();
});
</script>
</head>
<body>
<div id="overlayed">
<ul>
<li>Item X</li>
<li>Item Y</li>
<li>Item Z</li>
</ul>
</div>
<br/><br/><br/><br/><br/>
<ul>
<li>Item 01</li>
<li>Item 02</li>
<li>Item 03</li>
<li>Item 04</li>
<li>Item 05</li>
<li>Item 06</li>
<li>Item 07</li>
<li>Item 08</li>
<li>Item 09</li>
<li>Item 10</li>
<li>Item 11</li>
<li>Item 12</li>
<li>Item 13</li>
<li>Item 14</li>
<li>Item 15</li>
<li>Item 16</li>
<li>Item 17</li>
<li>Item 18</li>
<li>Item 19</li>
<li>Item 20</li>
<li>Item 21</li>
<li>Item 22</li>
<li>Item 23</li>
<li>Item 24</li>
<li>Item 25</li>
<li>Item 26</li>
<li>Item 27</li>
<li>Item 28</li>
<li>Item 29</li>
<li>Item 30</li>
</ul>
</body>
</html>
所以現在的問題是,如何解決呢?
潛入庫代碼,找出你正在使用的函數實際上是如何工作的,然後你應該能夠解決你的問題。 – aaaaaaaaaaaa 2010-11-04 01:47:47