2010-10-02 52 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); 

更妙的是,使用像素而不是百分比,作爲已經建議。