Roe*_*den 5 javascript jquery jquery-ui draggable
我一直在使用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
});
Run Code Online (Sandbox Code Playgroud)
其中一个元素的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>
Run Code Online (Sandbox Code Playgroud)
这就是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;
}
Run Code Online (Sandbox Code Playgroud)
请帮帮我!我不知道为什么会这样.
小智 4
这里全面回答了这个问题: jQuerydraggableshowshelperinerrorplaceafterpagescrolled
这是对我有用的修复:
确保父元素(如果是主体则为事件)具有overflow:auto; 放。我的测试表明该解决方案修复了位置,但它禁用了自动滚动功能。您仍然可以使用鼠标滚轮或箭头键滚动。
| 归档时间: |
|
| 查看次数: |
8504 次 |
| 最近记录: |