jquery可拖动的自动滚动在打开时消失
我有一个jquery可滚动文件,它不局限于它的父级。当我拖动它时,它会迫使身体自动滚动超过它的宽度,它“看起来”就像是在工作 但是,当我在这一点之后单击我的元素时,它会得到一个“奇怪”的位置,并且似乎消失了(这与位置被设置为负值有关) 我注意到,就连jquery示例也使用了一个非常高(和窄)的div来帮助实现这一点。然而,他们的例子似乎在水平方向上也能起作用 以下是我所指内容的链接: 相关源代码:jquery可拖动的自动滚动在打开时消失,jquery,jquery-ui,Jquery,Jquery Ui,我有一个jquery可滚动文件,它不局限于它的父级。当我拖动它时,它会迫使身体自动滚动超过它的宽度,它“看起来”就像是在工作 但是,当我在这一点之后单击我的元素时,它会得到一个“奇怪”的位置,并且似乎消失了(这与位置被设置为负值有关) 我注意到,就连jquery示例也使用了一个非常高(和窄)的div来帮助实现这一点。然而,他们的例子似乎在水平方向上也能起作用 以下是我所指内容的链接: 相关源代码: <html> <head> <script type="te
<html>
<head>
<script type="text/javascript">
$(function () {
$(".blueguy").draggable();
$(".greenguy").draggable({ scroll: false, containment: 'parent' });
});
</script>
<style type="text/css">
.blueguy {
background-color: #0000ff;
}
.greenguy {
background-color: #00ff00;
}
</style>
</head>
<body style="height:100%;">
<div style="height:100%;">
<div class="blueguy" style="width:300px; height:150px;">Drag me "off screen" such that the browser window auto scrolls. Then click on me and I dissapear</div>
<div class="greenguy" style="width:300px; height:150px;">I am constrained to the be contained within my parent</div>
</div>
</body>
</html>
$(函数(){
$(“.blueguy”).draggable();
$(“.greenguy”).draggable({scroll:false,containment:'parent'});
});
蓝佬先生{
背景色:#0000ff;
}
格林盖伊先生{
背景色:#00ff00;
}
将我拖离屏幕,使浏览器窗口自动滚动。然后点击我,我就消失了
我被限制在我的父母之内
真正的问题是:为什么会发生这种情况?我知道我可以用大的额外div来解决这个问题,但我只是好奇为什么我会看到这个
此外,如果知道是否还有其他好的解决办法,那将是一件有趣的事情。我可以重现这种行为。但它不是在单击时发生的,它是在您将元素拖离屏幕并在之后尝试将其拖回时发生的。 如果您先滚动到末尾,效果会更明显,因此,如果您将元素从屏幕向右拖动,则首先将滚动条向右放置,然后尝试将该项目拖回左侧 但你真正的问题是什么 我觉得它有点像马车。在jQueryUI中,屏幕外的滚动看起来有点混乱 有趣的是。。我试图重现这样的行为:我将两个div都包装在一个容器中,“向后滚动”速度非常快,但项目从未从鼠标下跳出,因此没有任何东西“消失”,请参见此处。
这对您来说是一种修复吗?这是一张该bug的罚单: 坏消息是,这张罚单已经存在两年了,没有开发者的反馈 我已经找到了一个解决方法来避免这个bug,它将
position:absolute
添加到draggable元素中
您可以在这里找到一个示例:尝试使用此
$(".selector").draggable({ helper: "clone" });
看看你的例子,看起来你的CSS真的是不同之处。(注意,我上面的示例也有一个包装容器)。谢谢你的帮助!