Ширина Jquery минус пиксели, совместимые с IE

Я пытаюсь использовать Jquery для расчета ширины моего div за вычетом желоба px. Я знаю, что об этом спрашивали снова и снова, но ответы, которые я нахожу, несовместимы с IE.

Поэтому CSS calc не подойдет. Код, который я использую на данный момент:

$('.left').css('width', '100%').css('width', '-=40px');

Но это также не работает в IE.

Приветствуются идеи!

Большое спасибо!


person Alga    schedule 21.11.2013    source источник


Ответы (2)


$('.left').width(function() {
    return ($(this).parent().width() * 0.35) - 40;
});

ширина 100% означает, что элемент такой же ширины, как и его родитель, поэтому просто вычтите из этого 40 пикселей.

person adeneo    schedule 21.11.2013
comment
Извините, это было просто для справки. на самом деле 35% - person Alga; 21.11.2013
comment
@Alga - все то же самое, просто умножьте на 0,35. - person adeneo; 21.11.2013

$('.left').css('width', '100%').width($('.left').width() - 40);

EDIT: Для более чем одного элемента:

$('.left').css('width', '100%').width(function(){
    return $(this).width() - 40;
});
person Krzysiek    schedule 21.11.2013
comment
что все задействованные элементы .left имеют одинаковую ширину - person A. Wolff; 21.11.2013