gpt4 book ai didi

javascript - 滚动浏览器时使用错误起始位置的可拖动 jQuery UI 元素?

转载 作者:搜寻专家 更新时间:2023-11-01 04:20:41 24 4
gpt4 key购买 nike

我一直在使用 jQuery 1.4.2 和 jQuery UI 1.8.5 来创建可恢复到其原始位置的可拖动元素。但是有一个问题;当您滚动浏览器窗口时,开始位置将更改为从更高的地方开始。看起来使用了绝对位置,但没有考虑滚动的数量,但我不能确定。我在 FireFox 中完成了所有开发和测试。

这是我录制的关于此的短视频.. http://www.youtube.com/watch?v=KPW4ljpjuF8

JavaScript 初始化代码如下所示..

    $( '.frameworkNavigationItem' ).draggable({
appendTo : 'body',
revert : 'invalid',
containment : 'body',
zIndex : 999
});

其中一个元素的 HTML 看起来像这样..

<div class="frameworkNavigationItem frameworkNavigationItemColor">
<div class="frameworkNavigationItemName">Home</div>
<div class="frameworkNavigationItemDisplay">
<input type="checkbox" checked="true" name="2_1">
<input type="checkbox" checked="true" name="2_2">
<input type="checkbox" checked="true" name="2_4">
</div>
<div class="frameworkNavigationItemController">
<input type="text" maxlength="255" value="mainNews" name="2_co">
</div>
<div class="frameworkNavigationItemChild">
<select name="2_ch">
<option value="0">-</option>
</select>
</div>
<div style="clear: both;"></div>
</div>

这是与之配套的 CSS。

    .frameworkNavigationItem
{
background-color : #CACACA;
height : 20px;
line-height : 20px;
margin : 2px 0;
vertical-align : middle;
}

.frameworkNavigationItem:hover
{
background-color : #BABABA;
}

.frameworkNavigationItem:hover input, .frameworkNavigationItem:hover select
{
background-color : #BABABA;
}

.frameworkNavigationItem input, .frameworkNavigationItem select
{
background-color : #CACACA;
border : 0;
font-size : 10px;
}

.frameworkNavigationItemColor
{
background-color : #DADADA;
}

.frameworkNavigationItemColor input, .frameworkNavigationItemColor select
{
background-color : #DADADA;
}

.frameworkNavigationItemName
{
float : left;
height : 15px;
padding-left : 5px;
}

.frameworkNavigationItemDisplay
{
float : right;
text-align : right;
width : 48px;
}

.frameworkNavigationItemController
{
float : right;
width : 160px;
}

.frameworkNavigationItemController input
{
width : 150px;
}

.frameworkNavigationItemChild
{
float : right;
width : 160px;
}

.frameworkNavigationItemChild select
{
width : 150px;
}

请帮帮我!我不知道为什么会这样。

最佳答案

这里有全面的回答: jQuery draggable shows helper in wrong place after page scrolled

这是对我有用的修复:

确保父元素(事件如果它是正文)有溢出:自动;放。我的测试表明这个解决方案修复了位置,但它禁用了自动滚动功能。您仍然可以使用鼠标滚轮或箭头键滚动。

关于javascript - 滚动浏览器时使用错误起始位置的可拖动 jQuery UI 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3931096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com