2010-10-02 53 views
0
function toggle() 
    { 
    $("#Layer4").animate({ width:"20%"}, 1000); 
    $("#Layer6").animate({ width:"20%"}, 1000); 
    } 

现在发生的事情是Layer4Layer6见证了一些动画,但有趣的是,高度的变化而不是宽度。jQuery的动画()

此外,一秒钟后,恢复原始尺寸。

这是怎么发生的?

-

<body onload="open()"> 
    <div id="Layer4"> 
    <img src="friend-line.jpg" width="243" height="380" /> 
    </div> 
    <div id="Layer5" onClick="toggle()"> 
    <img src="toggle_in.jpg" width="7" height="50" /> 
    </div> 
    <div id="Layer6"></div> 
</body> 
+0

你能上传所有的代码吗? – ABailiss 2010-10-02 15:15:56

+0

<体的onload = “打开()”>

Anant 2010-10-02 15:37:39

回答

0

我不相信你就必须使用%一致的结果。尝试使用像素。如果您必须使用%,请确保您没有周围的div,宽度也是以%为单位设置的。我的猜测是,情况就是这样。

+0

是的,尝试使用像素。尺寸仍然会在几秒钟内重置:/ – Anant 2010-10-02 15:32:12

+0

任何想法,为什么会发生这种情况? – Anant 2010-10-02 17:23:20

0

您不能减小div的大小小于img标记。如果你想要这种行为,你需要用背景图像样式替换img标签。

0

尝试调整,而不是它们的容器图片...

$('#Layer4 img').animate({ width:'20%'}, 1000); 
$('#Layer6 img').animate({ width:'20%'}, 1000); 

更妙的是,使用像素而不是百分比,作为已经建议。