2011-09-01 55 views
0

你好奇的社區,簡單的JQuery數學語法 - 我該如何減法?

我想用JQuery做一些非常簡單的數學,但我找不到與它的數學語法cheatsheat(這與我正在嘗試做什麼有關)。我知道如何增加&乘法,但減法是逃避我!

我需要做的是爲「#photo」賦予一個具有(視口總寬度 - (241px +(height * 0.32)))值的樣式。此代碼成功抓取視口的總寬度和#photo的寬度分配給它:

$(document).ready(function(){ 
    var width = $(window).width(); 
    $('#photo').css('width', width); 
}); 

但沒有什麼我已經通過(「寬度」,(寬度 - (值+值)的方式嘗試))已經工作 - 有人可以讓我知道減法和嵌套方程的語法是什麼?或者,而不是再次計算(高度* 0.32),我將如何將(高度* 0.32)的輸出分配給var,以便我可以重新使用它,使得寬度計算類似於('width', (width-(281px - varname)))?

這裏的整體功能,包括(高×0.32)計算:

$(document).ready(function(){ 
    var height = $(window).height(); 
    var width = $(window).width(); 
    $('#menu').css('height', height); 
    $('#menu').css('width', (height*0.29)); 
    $('#menu').css('position','fixed'); 
    $('#menu').removeClass('nojavascript'); 
    $('#novel').css('padding-left', (height*0.32)); 
    $('#novel').removeClass('nojavascript'); 
    $('#photo').css('width', width); 
}); 

呃,對如何整理自己的代碼進一步祕訣也表示讚賞。只是看着它,我可以猜到一些事情可能是不必要的重複!

每個請求編輯: 這裏是減法的問題,我已經得到了現在的工作:

$('img').css('width', (width - (281+(height*0.32))) + 'px'); 

現在我摔跤的問題是如何計算的高度爲IMG,以便保留4:3的照片比例!但是已經將近凌晨4點,所以我們必須等到凌晨。

+0

你可以張貼減法的問題,因爲它出現在你的代碼,所以我們可以看到它? –

回答

2

對於格式化,一些東西。 jQuery可以爲CSS添加對象,因此一次只能傳遞所有內容。其次,只有當密鑰不是有效的JavaScript標識符時(請參閱「填充 - 左側」),是否需要引用它。第三,jQuery對象鏈,所以你可以按照css()調用內嵌的removeclass()調用。最後,縮進是真的,真的是你的朋友。

最後,heightwidth函數返回裸整數,但函數css()要求包含單位。最根本的單元,並且通過heightwidth返回的一個,是像素:

$(document).ready(function() { 
    var height = $(window).height(), width = $(window).width(); 
    $('#menu').css({height: height + 'px', width: (height * 0.29) + 'px', position: 'fixed'}) 
     .removeClass('nojavascript'); 
    $('#novel').css({'padding-left': (height * 0.32) + 'px'}) 
     .removeClass('nojavascript'); 
    $('#photo').css({width: width + 'px'}); 
}); 
+0

這也是我的回答,但我只是在SO(jQuery 1.5.2)上進行了測試,它看起來像jQuery足夠聰明,可以a)將裸數字轉換爲num +'px''和b)Math.floor ()'漂浮。但是這種行爲可能是針對瀏覽器的。 – nrabinowitz

+0

它是否是瀏覽器專用的,然後我放在我的文章中的塊完美地分配寬度和高度,他們需要去,與像素分配?例如,#menu獲得style =「height:583px; width:169.07px; position:fixed;」即使我在代碼中沒有+'px'。 – Ila

+0

感謝格式化提示,看看它們是根據我使用的實際代碼而非抽象的代碼進行佈置的。 – Ila