0

你好美妙的社区,

我正在尝试用 JQuery 做一些非常简单的数学运算,但我找不到带有数学语法的作弊(这与我正在尝试做的事情有关)。我知道如何做加法和乘法,但减法却让我望而却步!

我需要做的是为“#photo”分配一个样式,其值为(视口的总宽度-(241px +(高度*0.32)))。此代码成功获取视口的总宽度并将其指定为#photo 的宽度:

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

但是我通过 ('width', (width- (value + value))) 尝试的任何方法都没有奏效 - 有人可以让我知道减法和嵌套方程的语法是什么吗?

或者,而不是再次计算 (height*0.32),我将如何将 (height*0.32) 的输出分配给一个 var,以便我可以重新使用它,使宽度计算类似于 ('width', (width- ( 281px - 变量名)))?

这是包括 (height*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 点,所以必须等到早上。

4

1 回答 1

2

对于格式化,一些事情。jQuery 可以为 CSS 获取对象,因此一次性传入所有内容。其次,只有当密钥不是有效的 javascript 标识符(请参阅“padding-left”)时,您才需要在其周围加上引号。第三,jQuery 对象链,这样你就可以跟在css()调用内联removeclass()调用。最后,缩进真的你的朋友。

最后,heightandwidth函数返回裸整数,但该css()函数要求您包含单位。最基本的单位,也是由heightand返回的单位width,是像素:

$(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'});
 });
于 2011-09-01T23:01:22.433 回答