Jquery 有没有办法放下<;李>;什么时候从conatiner分区取出的?

Jquery 有没有办法放下<;李>;什么时候从conatiner分区取出的?,jquery,jquery-plugins,jquery-selectors,Jquery,Jquery Plugins,Jquery Selectors,我有一个需求,其中我有一个容器div,其中包含3个dragsort附加在其上,结构类似 <div id="container"> <ul id="list1"> <li><div>a</div></li> <li><div>a</div></li> <li><div>a</div>&l

我有一个需求,其中我有一个容器div,其中包含3个dragsort附加在其上,结构类似

<div id="container">

    <ul id="list1">
        <li><div>a</div></li>
        <li><div>a</div></li>
        <li><div>a</div></li>
        <li><div>a</div></li>
    </ul>
    <ul id="list2">
        <li><div>b</div></li>
        <li><div>b</div></li>
        <li><div>b</div></li>
        <li><div>b</div></li>
    </ul>
    <ul id="list3">
        <li><div>c</div></li>
        <li><div>c</div></li>
        <li><div>c</div></li>
        <li><div>c</div></li>
    </ul>
</div>

参考资料:

你在找这样的东西吗

HTML:

CSS:

提示:

可以使用javascript动态设置容器的宽度和高度。如果安全壳的子元素处于绝对位置,则可能会导致安全壳不会像它应该的那样“拉伸”。这就是为什么我们需要设置宽度和高度


希望这对你有所帮助,如果我的英语有点生疏,请原谅。

你在找这样的东西吗?:

HTML:

CSS:

提示:

可以使用javascript动态设置容器的宽度和高度。如果安全壳的子元素处于绝对位置,则可能会导致安全壳不会像它应该的那样“拉伸”。这就是为什么我们需要设置宽度和高度

希望这对你有帮助,如果我的英语有点生疏,请原谅

我想要jquery dragsort插件中的包含功能

如果您指的是,它被编码为在容器中包含拖动的项目,但如果您没有在列表之间拖动,则仅在UL中包含。因此,要指定自定义容器,需要修改代码。因此,请在代码中找到:

if (!opts.dragBetween) {
    var containerHeight = $(list.container).outerHeight() == 0 ? Math.max(1, Math.round(0.5 + list.getItems().size() * list.draggedItem.outerWidth() / $(list.container).outerWidth())) * list.draggedItem.outerHeight() : $(list.container).outerHeight();
    list.offsetLimit = $(list.container).offset();
    list.offsetLimit.right = list.offsetLimit.left + $(list.container).outerWidth() - list.draggedItem.outerWidth();
    list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
}
并替换为:

if (!opts.dragBetween || typeof opts.containment != "undefined") {
    var box = typeof opts.containment != "undefined" ? $(opts.containment) : $(list.container);
    var containerHeight = box.outerHeight() == 0 ? Math.max(1, Math.round(0.5 + list.getItems().size() * list.draggedItem.outerWidth() / box.outerWidth())) * list.draggedItem.outerHeight() : box.outerHeight();
    list.offsetLimit = box.offset();
    list.offsetLimit.right = list.offsetLimit.left + box.outerWidth() - list.draggedItem.outerWidth();
    list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
}
下一步,请查找:

if (!opts.dragBetween) {
    top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
    left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
}
并替换为:

if (this.offsetLimit != null) {
    top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
    left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
}
现在像这样调用dragsort:

$("#container ul").dragsort({ containment: "#container", dragBetween: true });
我想要jquery dragsort插件中的包含功能

如果您指的是,它被编码为在容器中包含拖动的项目,但如果您没有在列表之间拖动,则仅在UL中包含。因此,要指定自定义容器,需要修改代码。因此,请在代码中找到:

if (!opts.dragBetween) {
    var containerHeight = $(list.container).outerHeight() == 0 ? Math.max(1, Math.round(0.5 + list.getItems().size() * list.draggedItem.outerWidth() / $(list.container).outerWidth())) * list.draggedItem.outerHeight() : $(list.container).outerHeight();
    list.offsetLimit = $(list.container).offset();
    list.offsetLimit.right = list.offsetLimit.left + $(list.container).outerWidth() - list.draggedItem.outerWidth();
    list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
}
并替换为:

if (!opts.dragBetween || typeof opts.containment != "undefined") {
    var box = typeof opts.containment != "undefined" ? $(opts.containment) : $(list.container);
    var containerHeight = box.outerHeight() == 0 ? Math.max(1, Math.round(0.5 + list.getItems().size() * list.draggedItem.outerWidth() / box.outerWidth())) * list.draggedItem.outerHeight() : box.outerHeight();
    list.offsetLimit = box.offset();
    list.offsetLimit.right = list.offsetLimit.left + box.outerWidth() - list.draggedItem.outerWidth();
    list.offsetLimit.bottom = list.offsetLimit.top + containerHeight - list.draggedItem.outerHeight();
}
下一步,请查找:

if (!opts.dragBetween) {
    top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
    left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
}
并替换为:

if (this.offsetLimit != null) {
    top = Math.min(this.offsetLimit.bottom, Math.max(top, this.offsetLimit.top));
    left = Math.min(this.offsetLimit.right, Math.max(left, this.offsetLimit.left));
}
现在像这样调用dragsort:

$("#container ul").dragsort({ containment: "#container", dragBetween: true });

你能整理一下你的代码示例吗?很难读懂……哦,谢谢,@jfriend00.)所以你想要额外的功能,当拖动鼠标时,不要让鼠标离开盒子?@Brogrammer-我只是在想。。。不知道是因为他问问题的方式无法回答,还是因为他懒得回答我清理了你的代码样本,但你需要回去接受以前问题中那些有用的答案。否则没人愿意花时间来回答你的问题。@Dan-这个问题,如果我理解的话,是可以回答的。。。他问的问题中至少有一半没有答案,而很多没有答案的问题都是建议,因为这些问题并不能真正帮助回答……你能整理一下你的代码示例吗?很难读懂……哦,谢谢,@jfriend00.)所以你想要额外的功能,当拖动鼠标时,不要让鼠标离开盒子?@Brogrammer-我只是在想。。。不知道是因为他问问题的方式无法回答,还是因为他懒得回答我清理了你的代码样本,但你需要回去接受以前问题中那些有用的答案。否则没人愿意花时间来回答你的问题。@Dan-这个问题,如果我理解的话,是可以回答的。。。他问的问题中至少有一半没有答案,很多没有答案的都是建议,因为这些问题并不能真正帮助回答……嘿,我想要jquery dragsort中的包含功能plugin@UmbrellaCorporation好的,对不起,一定是被以下参考链接弄糊涂了:嘿,我想要jquery dragsort中的包含功能plugin@UmbrellaCorporation好的,对不起,您一定被以下参考链接弄糊涂了: