2013-08-23 34 views
0

我想將容器的高度自動擴大至28px的乘積。我有一個只能垂直重複的圖案,所以我不能在不是28的倍數的高度上裁剪它。例如,如果我的容器的高度爲400px,我需要將高度擴大爲420px,這樣圖案垂直重複,並且不會裁剪。通過乘以值擴大容器高度

關於我需要創建的jQuery函數的邏輯的任何想法?

+0

@JoshC它將擴大罰款,但它背後的模式,如果高度不是28 – otinanai

+0

這兩個答案乘將作物是解決方案 - 模運算符''%給你部門的剩餘部分(如果有的話)。因此,'$('#mydiv')。height()%28'可以讓你檢查當前高度是否不能被28整除。如果不是,那麼你使用'Math.ceil'來四捨五入Math.ceil (身高/ 28)* 28'。 –

+0

@Chris我同意你的意見。兩個答案都是正確的。我希望我可以同時接受他們。 – otinanai

回答

6

這有幫助嗎?下面

var container = $('#container'), unit = 28, height = container.height(); 
(height % unit > 0) && 
container.height(Math.ceil(height/unit) * unit); 
+2

+1爲快捷方式:) –

+0

但是...它確實使代碼更加明確。我+1了,但我會更接近你的方式,@PatrickEvans;之後更容易調試,因爲它更清晰。 –

+0

@Chris完全同意,但我剛開始在這裏編寫代碼,並沒有使用任何代碼編輯器。 –

4
var needsExpansion = jQuery("#mydiv").height()%28 > 0; 
if(needsExpansion) { 
    var newHeight = Math.ceil(jQuery("#mydiv").height()/28) * 28; 
    jQuery("#mydiv").height(newHeight); 
} 
+0

謝謝你的回答。很棒!我希望我可以接受多個答案。當然+1。 – otinanai

+0

+1表示清楚:) –