2013-01-12 197 views
6

我想動畫的div滑動至如下面的示例的權利:jQuery的動畫寬度

http://jsfiddle.net/56hxy/3/

代替移位餘量但是,我想「擠」的寬度,但它不改變寬度%(width: '60%')它squishes到左邊,而不是工作..

+0

請澄清。最好用圖像。一旦它被移除/改變,一個小提琴的鏈接將變得毫無用處 – Matanya

+0

你想擠壓哪個寬度? –

回答

19

不知道這是你在尋找什麼,但嘗試:

$('#content').animate({ 
    marginLeft: '40%', 
    width:'60%' 
}); 

Fiddle


還是在CSS給right:0#content,那麼你可以動畫width,它會收縮由左到右,而無需利潤率。與上述效果相同,但更清潔。 Fiddle

此外,jQuery有一個內置的「」交替點擊所以,如果你切換隻需點擊事件中,你可以使用:

$('#content').toggle(function() { 
    $(this).animate({ width:'60%' }); 
}, function() { 
    $(this).animate({ width:'100%' }); 
}); 

Fiddle

+0

非常有意義,謝謝 – bushdiver

+0

嗯,那個切換事件真棒。如果我用別處附加的另一個切換事件切換同一個目標元素(動畫元素),與'#content'相關聯的切換事件是否會識別出目標元素已被切換? – bushdiver

+0

呃我猜不行。切換非常有限。我很確定它只是在從同一個處理程序中觸發時切換。理論上,您可以在觸發事件關聯的元素上使用'.trigger('click')',那麼它就可以工作。切換主要是爲了簡單的東西,但如果你需要一個強大的解決方案,保持你的手冊切換。 '=]' –