- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们有 2 个可排序列表(必要的可排序),我希望能够将列表 1 中的元素拖动到列表 2 中的元素上,而不需要移动列表 2 或列表 1 中的任何元素,当我放下该元素时,它会消失返回到列表 1(在相同位置),并在其中包含列表 2 中的元素的名称。
这就像分配标签的过程。我们应该能够将相同的元素分配给其他列表中的多个元素,并且也能够将列表 2 中的元素标记到列表 1。
我不确定是否必须使用 jqueryUI 中的可拖动或可放置脚本以及如何使用。有什么想法我该怎么做吗?
谢谢!
var sortableOptions = {
cursor: "move",
placeholder: "sortable-placeholder",
tolerance: "pointer",
opacity: 0.8,
scroll: true,
scrollSensitivity: 100,
}
$('.list1').sortable(sortableOptions);
$('.list2').sortable(sortableOptions);
.list1,
.list2 {
list-style-type: none;
width: 40%;
float: left;
margin-right: 30px;
}
.list1 .item,
.list2 .item {
border: 1px solid gray;
padding: 10px;
}
.sortable-placeholder {
border: 1px dotted #e6e6e6;
height: 40px;
color: #fff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.0/jquery-ui.min.js"></script>
<ul class="list1">
<li class="item">Item 1</li>
<li class="item">Item 2</li>
<li class="item">Item 3</li>
</ul>
<ul class="list2">
<li class="item">Item 4</li>
<li class="item">Item 5</li>
<li class="item">Item 6</li>
</ul>
最佳答案
好吧,首先,如果您阅读过 jQuery 可排序文档,您就会知道可排序对象获得可拖动对象的属性。
因此,当您初始化可排序对象时,您可以设置某些属性来处理可排序事件(“开始”、“停止”、“接收”等)
var sortableOptions = {
cursor: "move",
placeholder: "sortable-placeholder",
tolerance: "pointer",
opacity: 0.8,
scroll: true,
connectWith: '.list1',
helper: function(e, li) {
copyHelper = li.clone().insertAfter(li);
return li.clone();
},
stop: function() {
copyHelper && copyHelper.remove();
},
receive: function(e, ui) {
let string='<small>'+ui.item[0].innerHTML+"</small>"
ui.item.prev().html(ui.item.prev().html()+string);
ui.item.remove()
copyHelper=null;
},
scrollSensitivity: 100,
}
请注意connectWith
选项 - 它确保您的列表已连接。我准备了一个 fiddle 来重现预期的行为:
JSFiddle .
警告:当前代码不会检查重复项,因此,如果您将 item1 从 list1 传递到 list2 并再次返回,您将在 list1 中将 item1 作为重复项!
编辑
我已经更改了 fiddle 和代码片段以反射(reflect)您的要求,Here
请注意,如果您不断更改列表中的项目,它们会越来越大。我没有更正,因为这可能是您期望的行为。
编辑2
好吧,现在你要求的东西让我摸不着头脑:P
所以,我给你的解决方案是:
将 CSS 更改为:
.list1,
.list2 {
list-style-type: none;
width: 40%;
float: left;
margin-right: 30px;
}
.list1 .item,
.list2 .item {
float: left; //THIS ONE IS THE IMPORTANT ONE
border: 1px solid gray;
padding: 10px;
}
.sortable-placeholder {
border: 1px dotted #e6e6e6;
height: 40px;
color: #fff;
}
这将使您的列表水平(使您要附加的元素变得非常明显)。
但是,如果您想更改为垂直列表,我的建议是停止使用可滚动列表,除非您确实需要。根据我的研究,可滚动始终会为新元素腾出“空间”,因此您可以:
关于javascript - jquery 将元素从可排序列表拖放到另一个列表中仅用于分配(而不是移动),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54906859/
我有一个带有 H264 身份验证的 RTSP 流的 URL - MPEG-4 第 10 部分编解码器。 Lik 看起来像这样:rtsp://login:pass@xxx.xxx.xxx.xxx:557
我正在开发移动应用程序。现在,我将访问 token 放在SharedPrefences上。我想问一下SharedPrefences上的存储访问 token 是否安全?如果没有,最好的做法是在哪里放置访
一个 UITableView,它有 20 行的 UITableViewCell,每一行都有一个按钮,单击按钮我想将 UITableViewCell 放到 UITableView 的底部。 是否有任何委
我有这样的代码。我删掉了所有的细节,但是这个文本区域会在按下按钮后发生变化,而它所做的只是改变了文本区域。没有添加滚动。我什至尝试将滚动策略设置为始终,但它返回错误。此面板将添加到另一个带有 Bord
我想在 NSString 中有 src="字符。 但我不能这样做,因为 "是 Objective C 的一部分。 我想这样做: NSString * name = [ [NSString alloc]
非常新手的问题,我是 html 的新手,特别是 highcharts 的东西。所以首先,我制作了这个 test.php 来显示图表。 Highcharts Exampl
如何将我的 fab 放在我的 fragment 上?请帮助我收到错误,例如。 android.view.InflateException: Binary XML file line #13: Erro
我已经完成了一个unity的迷你游戏,名为“penguins_test”。我导出了 2 个文件: penguins_test.html penguins_test.unity3d 现在,我想使用 Go
有谁知道如何将 uiviewcontroller(或只是 View )添加到 cocos2d 层上? 最佳答案 是这样的: [[CCDirector sharedDirector].view addS
我知道您可以采取一些技巧,将 HTML 元素放在 Silverlight 应用程序的顶部,但这无法全屏显示。有没有办法在 Silverlight 应用程序中显示 html 页面? 最佳答案 http:
从 Golang 教程中我不清楚如何将 Golang 代码放到 Github 以便以后能够从 Github 将该代码作为包导入。 这是来自 Golang 教程 http://golang.org/do
我围绕 Pygame 构建了我的整个游戏,并想把它放到 Steam 上。最后我了解到我需要 OpenGL 支持才能运行 Steam 的叠加层。初始化显示的代码: screen = pygame.dis
我需要将已编译的 apk 文件复制到作业 artifats,以便在成功时能够直接从作业页面下载它。 现在我已经在文件夹 build/apk/MyProject-release.apk 中编译了 apk
我愿意在本地和 Heroku 上处理不同的设置。所以我在 settings.py 的末尾使用了这个导入: try: from local_settings import * except Im
我是安卓新手。这个问题是我尝试使用 Android 应用程序和 Web 服务的步骤中的一个阶段。我之前问过一个问题,在这里:Fail to connect android to web service
我是 Git 新手。我刚刚在我的计算机上创建了一个 Git 存储库。现在我想将该存储库连接到网站 (GitHub) 并将我的代码推送到那里。 我该怎么做?我有点熟悉......我必须以某种方式将在线代
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: How to use an existing database with an Android applic
如何在浏览器选项卡上显示标签名称? :( 帮我我想将我的标签显示为选项卡,有什么技巧吗? 技巧 - ABC 技巧 - 最佳答案 是的,您可以使用 在浏览器选项卡中显示标签名称 示例标题代码:
我需要 Tomcat 上的 JAX-WS 运行时。 把“jax-ws/lib/*”放到“tomcat/lib”里可以吗? 如果将 jax-ws/lib 放入 tomcat/lib,是否需要 Tomca
我已经在Win10系统中安装了hadoop-2.5.2和eclipse neon.1a,但是我把“hadoop-eclipse-plugin-2.5.2.jar”放到/eclipse/plugins后
我是一名优秀的程序员,十分优秀!