2

这似乎是一个常见的问题,但由于某种原因我根本想不出解决方案。

我正在构建一个需要拖放功能的网站。但是,滑块中有多个项目。显然,滑块具有overflow hidden并且relative positioning在其中,因此滑块可以工作。

这两个属性的组合意味着当从 div 中拖动一个图像时,它会被溢出截断。如果没有相对定位,则溢出不会影响被拖动的元素。

但是,我很确定每个滑块/滑动器都会具有相对定位以及隐藏溢出,因为它们需要它们才能正常工作。

但是,谁能想到解决办法?

这是该站点的简化测试用例。我没有包含滑块 js,但是带有位置/溢出的基本 css 可以显示问题。

对于那些希望检查代码的人,我使用的滑块是swipe.js

从 中删除位置.items .item并将.site-wrap向您展示拖放仍然如何与overflow: hidden.

[编辑]

我注意到一旦开始被拖动,jQuery UI 就会向元素添加一个类。我开始思考是否有办法锁定它来改变那个特定元素的溢出值。但是将其更改为overflow: none似乎没有任何作用,问题似乎出在两个父元素上,这当然不能更改,因为用户可以拖放多个项目。

4

1 回答 1

0

尝试在调用 draggable 时使用 draggable 的appendTo选项。

$( ".big-item" ).draggable({ 
    snap: ".big-dropzone",
    revert: "invalid", 
    helper: "clone", 
    opacity: 1,
    cursor: "move",
    appendTo: ".big-dropzone"
});

这是您示例的代码笔分支

于 2015-01-22T10:39:25.683 回答