Установить высоту элемента на кратные числа? - PullRequest
1 голос
/ 30 июня 2011

Есть ли способ с помощью jquery или javascript заставить элемент растянуть его высоту до определенного набора чисел?Я имею в виду, что поскольку он вмещает больше контента, его высота будет соответствовать только порядку чисел (кратному числу).

Скажем, кратно 100 ... высота div по мере его увеличения будет выше только в этой серии - 200px, 300px, 400px и т. Д. Следовательно, если он превосходит хотя бы на 1 пиксель от 200, он автоматически изменится до 300.

Сложно объяснить.

Мне это нужно, потому что я сделал вертикальный бесшовный узор с рваными краями, и он будет выглядеть идеально, если он будет отображать каждую плитку.

Я знаю только базовые jquery и не имею ни малейшего представления о том, как это решить.

Моя искренняя благодарность тому, кто стремится к моему запросу!

Ответы [ 3 ]

1 голос
/ 30 июня 2011
var h = $('div').height();
$('div').height( Math.ceil(h/100) * 100 );
1 голос
/ 30 июня 2011

что-то вроде:

$('element').css({ height : (0|(targetHeight + 99) / 100) * 100 });

, если вы хотите автоматически:

$(function(){
    var $elem = $('#element')
    $elem.css({ height : (0|($(elem).height() + 99) / 100) * 100 });
});
0 голосов
/ 30 июня 2011

Эта функция будет принимать текущую высоту и номер устройства, к которому вы хотите привязать, округляя до ближайшего кратного значения.

function snapHeight(height, multipleOf) {
    return multipleOf * Math.round(height / multipleOf);
}

Примеры:

snapHeight(930, 100); // returns 900
snapHeight(930, 50); // returns 950
$('#element').height(snapHeight($('#element').height(), 100)); // in jQuery
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...