jor*_*cke 2 css jquery jquery-ui overflow jquery-ui-sortable
我想弄清楚如何在拖动列表元素时让我的'可排序列表'滚动.
滚动列表中的正常工作,我拖着从,但没有在列表中,我拖来.
http://jsfiddle.net/jordanbaucke/pacbC/1/
提出类似问题的另一个问题:
PS.Pivotaltracker,www.pivotaltracker.com做得很好.
老问题,但我今天几个小时都在努力,所以我想我会分享我学到的东西.
可排序滚动是scrollParent的偏移量,当前滚动位置,当前项目位置和scrollSensitivity的函数.开始拖动时,sortable执行_mouseStart.这将设置scrollParent并缓存当前排序的偏移量.有了这些知识,我们可以在over事件处理程序中进行小规模的随机操作:
over: function (event, ui) {
ui.item.data('sortableItem').scrollParent = ui.placeholder.parent();
ui.item.data('sortableItem').overflowOffset = ui.placeholder.parent().offset();
}
Run Code Online (Sandbox Code Playgroud)
当被拖动的元素更改容器时过度触发.当您点击结束事件时,占位符已移至新容器.代码获取新的scrollParent并重新获取偏移量.
为了简洁起见,我把Tats_innit的小提琴分开了:http://jsfiddle.net/3E2Hg/84/
scrollParent在整个事件结构的其他地方被引用,所以我不确定这是不是防弹的.不过,我认为这是一个很好的起点.如果我遇到任何陷阱,我会更新这个答案.