2011-09-01 54 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