2011-11-17 2 views
2

비디오 태그를 보유하는 div id="videoFrame" 페이지가 있습니다. 이 위대한 작품을jQuery로 반환 값에 정수를 추가합니다.

var videoHeight = $('video').attr('height'); 
$('#videoFrame').css('height',videoHeight+'px'); 

: 나는 높이 값을 잡기 위해 기능을 가지고 있으므로 같은 div id="videoFrame"의 CSS에 연결되도록 비디오는 변수 높이를 가지고있다. 그러나 여기에 나를 미치게하는 부분이 있습니다. div id="videoFrame" 하단에 면책 조항이있는 p 태그가 있습니다. 그래서 반환 된 높이 26px를 추가하고 싶습니다. 나는 시도 :

var videoHeight = $('video').attr('height'); 
var frameHeight = videoHeight + 26; 
$('#videoFrame').css('height',frameHeight+'px'); 

를하지만 기대로 반환 된 값의 끝 (26)를 추가하고있다. 즉 반환 된 값이 337 인 경우 frameHeight의 출력은 33726입니다.

나는 이것을 수행하는 방법을 알 수 없습니다.

도움을 주셔서 미리 감사드립니다.

답변

4

$('video').attr('height')는 문자열을 반환 사용해야합니다. 문자열에 숫자를 추가하면 숫자가 문자열로 변환되고 원하는 것이 아닌 두 개의 문자열이 추가됩니다. 두 개의 숫자를 추가하려고합니다. 따라서이 문자열을 숫자로 변환해야만 두 개의 숫자를 추가 할 수 있습니다.

var videoHeight = parseInt($('video').attr('height'), 10); 
var frameHeight = videoHeight + 26; 

문자열을 숫자로 변환하는 방법에는 여러 가지가 있습니다. 다음은 좀 더 명백한 몇 가지 예입니다.

parseInt(str, radix) 
parseFloat(str) 
Number(str) 

parseInt를 사용하여, 항상은 (당신이 원하는 거의 절대) 문자열의 내용을 기반으로 추측됩니다, 그렇지 않으면 기수를 지정합니다.

+0

작품! 도움과 설명에 감사드립니다. 어떻게하는지 알면 항상 더 좋습니다. – danferth

0

시도해보십시오.

var frameHeight = Number(videoHeight) + 26;

0

당신은 videoHeight 변수 주위에서는 parseInt()를 포장한다. 시도해보십시오, 이것이 도움이되기를 바랍니다.

0

당신은 parseInt

var videoHeight = parseInt($('video').attr('height')); 
1

추가하기 전에 ParseInt.

var frameHeight = parseInt(videoHeight) + 26;

0
var frameHeight = parseInt(videoHeight,10) + 26; 
0
var videoHeight = parseInt($('video').attr('height')); 
var frameHeight = videoHeight + 26; 
관련 문제