【发布时间】:2012-09-02 15:33:19
【问题描述】:
我正在制作一个项目,它是一个简单的待办事项列表。您可以拖动任务并重新排列它,我已将任务containment 设置为包含它们的 div。
但是当你想把一个任务放在顶部,并且你只是把它拖到顶部,容器 div 会阻止它在顶部的当前任务之上。
我想修改可排序插件,在顶部和底部添加一个额外的10px,因此任务不会完全停在 div 的顶部,而是在它之外加上10px,同样如此到容器 div 的底部。
自己尝试一下以了解我的意思。 here。添加几个任务并尝试将一些任务放在容器的顶部。
我尝试使用开发包修改sortable,我到了这些行但不知道要修改什么:
if(!(/^(document|window|parent)$/).test(o.containment) && o.containment.constructor != Array) {
var c = $(o.containment);
var ce = c[0]; if(!ce) return;
var co = c.offset();
var over = ($(ce).css("overflow") != 'hidden');
this.containment = [
(parseInt($(ce).css("borderLeftWidth"),10) || 0) + (parseInt($(ce).css("paddingLeft"),10) || 0),
(parseInt($(ce).css("borderTopWidth"),10) || 0) + (parseInt($(ce).css("paddingTop"),10) || 0),
(over ? Math.max(ce.scrollWidth,ce.offsetWidth) : ce.offsetWidth) - (parseInt($(ce).css("borderLeftWidth"),10) || 0) - (parseInt($(ce).css("paddingRight"),10) || 0) - this.helperProportions.width - this.margins.left - this.margins.right,
(over ? Math.max(ce.scrollHeight,ce.offsetHeight) : ce.offsetHeight) - (parseInt($(ce).css("borderTopWidth"),10) || 0) - (parseInt($(ce).css("paddingBottom"),10) || 0) - this.helperProportions.height - this.margins.top - this.margins.bottom
];
this.relative_container = c;
}
【问题讨论】:
标签: jquery jquery-ui customization jquery-ui-sortable