gpt4 book ai didi

jquery - jquery ui可调整大小的奇怪错误

转载 作者:搜寻专家 更新时间:2023-10-31 23:06:04 24 4
gpt4 key购买 nike

我在使用 jquery UI 时发现了一个奇怪的错误。当我单击使 div 可调整大小的按钮时,div 移动到该按钮下方的位置。

可调整大小的.html:

<html>
<head>
<link href="my.css" rel="stylesheet" type="text/css"/>
<link href="jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery-ui.js"></script>
<script>
function makeResizable() {
$("#divRes").resizable();
}
</script>
<style>
</style>
</head>
<body>
<br><br><br><br><br><br><br><br><br><br>
<button onclick="makeResizable();">Make Resizable</button>
<div id="divRes" class="MyDiv"></div>
</body>
</html>

我的.css:

.MyDiv {
position: absolute;
left: 50px;
top: 50px;
height: 100px;
width: 100px;
padding: 0px;
margin: 0px;
z-index: 1;
background-color: cyan;
}

因此,只要我单击“设置可调整大小”按钮,div 就会变为可调整大小,但它也会在按钮下方垂直移动。

奇怪的部分是:如果我从 my.css 中删除 css 并将其内联放置在

<style>
.MyDiv {
position: absolute;
left: 50px;
top: 50px;
height: 100px;
width: 100px;
padding: 0px;
margin: 0px;
z-index: 1;
background-color: cyan;
}
</style>

或者如果我更改 div 的声明:

<div id="divRes" class="MyDiv"></div>

<div id="divRes"></div>

和 my.css 到

#divRes {
position: absolute;
left: 50px;
top: 50px;
height: 100px;
width: 100px;
padding: 0px;
margin: 0px;
z-index: 1;
background-color: cyan;
}

问题没有发生。

当然,这样做既不可取又愚蠢。该问题无法在 jsfiddle 中重现,因为显然所有 css 都是内联的。如有必要,我可以在线上传两个版本的文件。

jquery 版本:

jQuery 用户界面 - v1.8.20 - 2012-04-30

jQuery v1.7.2 jquery.com | jquery.org/许可证

在此先感谢您的任何意见。

编辑:刚刚使用 jquery-ui 1.30.3 和 jquery 1.9.1(最新)对其进行了测试。问题仍然存在,所以这不是由于它的旧版本。

EDIT2:我已经在此处上传了文件 http://speedy.sh/eBPea/resizable.zip

resizable.htm: 演示问题

resizable2.htm:如果我不使用 CSS 类(不是一个选项),则不会出现此问题

resizable3.htm:如果我在 html 文件中包含 CSS 类(不是一个选项),则不会出现此问题

最佳答案

这似乎是 CSS 的问题。

可调整大小的插件将 ui-resizable 类添加到您的元素中,它在 jQuery UI 中默认带有这种样式:

.ui-resizable {
position: relative;
}

这会导致问题,因为您的 CSS 具有 position: absolute 并且被覆盖了。为防止出现此问题,请将此规则添加到您的 CSS 文件中:

.MyDiv.ui-resizable {
position: absolute;
}

或将 .MyDiv 定义更改为:

.MyDiv {
position: absolute !important;
}

关于jquery - jquery ui可调整大小的奇怪错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17820381/

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