我正在尝试使用jQuery UI,并注意到一个奇怪的bug。当我点击一个按钮使一个div可调整大小时,这个div会移动到该按钮下方的位置。
resizable.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>
my.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>
to
<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 UI - v1.8.20 - 2012-04-30
jQuery v1.7.2 jquery.com | jquery.org/license 非常感谢您提供的任何意见。
编辑:刚刚使用了jquery-ui 1.30.3和jquery 1.9.1(最新版本)进行了测试,问题仍然存在,因此不是由于旧版本引起的。
编辑2:我已经在这里上传了文件http://speedy.sh/eBPea/resizable.zip resizable.htm:演示了问题
resizable2.htm:如果我不使用CSS类,则问题不会出现(不是一个选项)
resizable3.htm:如果我在html文件中包含CSS类,则问题不会出现(不是一个选项)
DOCTYPE
声明吗?你这里的代码示例缺少它。 - Uooo