UI 可排序移动滚动
UI Sortable moves scroll
我对 jQuery 可排序有疑问。
这是一个活生生的例子:JSFiddle
HTML:
<div class="a">
<div class="b">
a<br>
b<br>
c<br>
d<br>
e<br>
f<br>
g<br>
h<br>
i<br>
j<br>
k<br>
l<br>
m<br>
n<br>
o<br>
</div>
</div>
JS:
$(function(){
$('.a').sortable();
});
CSS:
.b {
border: 1px solid;
width: 100px;
height: 100px;
overflow-y: scroll;
overflow-x: hidden;
text-align: center;
}
在这种情况下,我有 div 滚动条。我滚动到 div 的末尾,并尝试使用拖放对元素进行排序。此操作后,滚动 div 跳转到此 div 的开头。我如何 "remember" 滚动位置和 "revert" 排序后的位置?
您需要保存滚动位置,然后在停止移动对象时重新应用它。
JSFIDDLE:JSFIDDLE
$(function(){
var scrollTop = 0;
$('.a').sortable({
start: function(event, ui){
scrollTop = ui.item.scrollTop();
},
stop: function(event, ui){
ui.item.scrollTop(scrollTop);
}
});
});
您应该在内部 <div id="b">
上使用 sortable()
方法,并将您想要排序的每个元素放在 <div>
标记内,这样它们就可以被视为 DOM元素。
这是一个可行的解决方案 JSFiddle
您可能需要查看 THIS 主题。
我对 jQuery 可排序有疑问。
这是一个活生生的例子:JSFiddle
HTML:
<div class="a">
<div class="b">
a<br>
b<br>
c<br>
d<br>
e<br>
f<br>
g<br>
h<br>
i<br>
j<br>
k<br>
l<br>
m<br>
n<br>
o<br>
</div>
</div>
JS:
$(function(){
$('.a').sortable();
});
CSS:
.b {
border: 1px solid;
width: 100px;
height: 100px;
overflow-y: scroll;
overflow-x: hidden;
text-align: center;
}
在这种情况下,我有 div 滚动条。我滚动到 div 的末尾,并尝试使用拖放对元素进行排序。此操作后,滚动 div 跳转到此 div 的开头。我如何 "remember" 滚动位置和 "revert" 排序后的位置?
您需要保存滚动位置,然后在停止移动对象时重新应用它。
JSFIDDLE:JSFIDDLE
$(function(){
var scrollTop = 0;
$('.a').sortable({
start: function(event, ui){
scrollTop = ui.item.scrollTop();
},
stop: function(event, ui){
ui.item.scrollTop(scrollTop);
}
});
});
您应该在内部 <div id="b">
上使用 sortable()
方法,并将您想要排序的每个元素放在 <div>
标记内,这样它们就可以被视为 DOM元素。
这是一个可行的解决方案 JSFiddle
您可能需要查看 THIS 主题。