2013-08-23 2 views
0

컨테이너의 높이를 28px의 배수로 자동 확장하려고합니다. 예를 들어 컨테이너의 높이가 400px 인 경우 높이를 420px으로 확장해야합니다. 그래야 높이가 28도가되지 않는 높이에서자를 수 없으므로 수직으로 반복 할 수 있습니다. 패턴이 세로로 반복되고 잘리지 않습니다.값을 곱하여 컨테이너 높이를 확장하십시오.

내가 만드는 데 필요한 jQuery 함수의 논리에 대한 아이디어가 있습니까?

+0

그것은 좋은 확장하지만 높이가 28 – otinanai

+0

두 응답의 곱셈이 아닌 경우 그 뒤에 패턴이, 자르기 것이다 @JoshC 아래의 솔루션입니다 - 나머지 연산자 '%가'당신에게주는 부서의 나머지 (있는 경우). 그래서'$ ('# mydiv'). height() % 28'는 현재 높이가 28로 나눌 수 없는지를 검사 할 수있게합니다. 그렇지 않다면'Math.ceil'을 사용하여'Math.ceil (높이/28) * 28'. –

+0

@Chris 동의합니다. 두 답이 모두 정확합니다. 나는 그들 모두를 받아 들일 수 있었으면 좋겠다. – otinanai

답변

6

이 정보가 도움이 되나요?

var container = $('#container'), unit = 28, height = container.height(); 
(height % unit > 0) && 
container.height(Math.ceil(height/unit) * unit); 
+2

바로 가기 : +1 –

+0

하지만 코드가 덜 명확하게 나타납니다. 나 + 1'd, 그러나 나는 당신의 방법을 더 가까이 쓰고 싶다 @PatrickEvans; 더 명확하기 때문에 나중에 디버그하기 쉽습니다. –

+0

@Chris, 전적으로 동의했지만 코드를 작성하기 시작했으며 코드 편집기를 사용하지 않았습니다. –

4
var needsExpansion = jQuery("#mydiv").height()%28 > 0; 
if(needsExpansion) { 
    var newHeight = Math.ceil(jQuery("#mydiv").height()/28) * 28; 
    jQuery("#mydiv").height(newHeight); 
} 
+0

답변 해 주셔서 감사합니다. 위대한 작품! 나는 하나 이상의 답을 받아 들일 수 있었으면 좋겠다. 물론 +1. – otinanai

+0

+1 for explicitness :) –

관련 문제