我已经设置jQuery拖放从一个div到另一个div,它工作正常。从div滚动条拖放 - 溢出-y滚动VS溢出-x可见
但是,源div有时会超出屏幕的高度,所以我需要为它添加一个垂直滚动条。这就是我遇到臭名昭着的溢出问题的地方。
div需要具有overflow-x:visible,以便拖动元素在被移动到目标div时可见。但是,当我将overflow-y:scroll或overflow-y:auto添加到源div时,突然溢出x不再起作用。
我去过W3和一些StackOverflow的问题,我意识到这不是一个错误,但意图的行为(尽管为什么这是打算超出我)。但是,我还没有找到适合我的解决方案。
我已经尝试添加一个包装div来源DIV像一些答案建议,然后执行以下操作:
.wrapper {
width: 100px;
position: absolute;
top: 4vw;
left: 0;
bottom: 4vw;
overflow-y: auto;
}
.source {
position: relative;
overflow: visible;
z-index: 2;
}
<div class="wrapper">
<div class="source">
<!-- draggable elements go here -->
</div>
</div>
<div class="target">
<!-- draggable elements drop here -->
</div>
但是,尽管源div的溢出现在即可,包装仍然隐藏水平溢出。我想我可以将包装的宽度增加到全屏,并使背景不可见,并使屏幕上的所有其他内容具有更高的Z-index,以便不在包装后面,但对于这样的包装而言,这似乎是一个荒谬的不好的解决方案简单的问题。
任何人都可以帮助我吗?
如果一个CSS解决方案不实际,任何人都可以提供一些可以解决问题的Javascript?
代码示例:jsfiddle
你可以来复制此问题 –
这里有一个小提琴小提琴:https://jsfiddle.net/9ush466w/ – jovan