javascript - 如何结合 jQuery SlimScroll 和 sortableUI?
问题描述
我希望有两个 slimscrolled div 并能够在它们之间拖放元素。后者经过测试,并且与sortable方法完美配合,但是当我应用 slimscrolls 时,两个 div 接收到该overflow: hidden
属性,这使得拖动的元素在移出 div 时消失。根据文档,我没有看到修改 slimscroll 的溢出属性的选项,出于显而易见的原因,我想将其更改为overflow-x: visible
and 。overflow-y: hidden
CSS 属性应用于元素级别,因此使用 CSS 规则的解决方法不是一个选项 afaik。
我希望 slimscroll 能够正常工作,但我希望能够在两个 slimscrolled div 之间拖放元素。如何进行?
编辑
为了得到答案,我添加了一个代码示例:
<div id="container1">
<ul><li>...</li></ul>
</div>
<div id="container2">
<ul><li>...</li></ul>
</div>
<script>
$('#container1').slimScroll({...});
$('#container2').slimScroll({...});
$('#container1').sortable({
connectWith: "#container2",
});
</script>
在上面的例子中,#container1 中的元素应该被拖到#container2 中,但是由于overflow:hidden
应用的属性slimScroll()
,被拖出的元素会在拖出 的区域时消失#container1
。我希望能够拖动元素并看到我正在拖动的元素。
解决方案
问题是 jquery.slimscroll.js 中的一个设置。在从第 160 行开始的 v1.3.8 中,我执行了以下操作;
// wrap content
var wrapper = $(divS)
.addClass(o.wrapperClass)
.css({
position: 'relative',
overflow: 'visible', // <--- change this from 'hidden' to 'visible' !!!
width: o.width,
height: o.height
});
应用上述更改后,我描述的问题不复存在。
推荐阅读
- angular - Angular 5 错误无法读取未定义的属性“get”
- google-cloud-platform - 如何将当前会话时间添加到 BigQuery 中的每个事件?
- c++ - 默认参数位置的 Lambda 无法访问好友成员。这是编译器错误吗?
- android - 是否可以在不设置 Android 默认短信应用的情况下访问短信?
- ssh - phpseclib ssh 登录失败,没有错误
- javascript - 网络工作者似乎没有在生产中工作
- javascript - 正则表达式 - 匹配 URL 结尾带/不带斜杠
- vb.net - Microsoft Access 数据库引擎无法打开或写入文件
- dart - 在颤振中使用 import 'dart:html' - 我需要额外的依赖项吗?
- c - C 结构的新手,有人可以帮我定义这些结构吗?