我有一个包含div id="videoFrame"
的页面,其中包含视频标记。视频的高度可变,因此我有一个函数来获取高度值并将其插入div id="videoFrame"
的css中,如下所示:
var videoHeight = $('video').attr('height');
$('#videoFrame').css('height',videoHeight+'px');
这很有效。但这是让我疯狂的部分。我在div id="videoFrame"
的底部有一个带免责声明的p标签。所以我想在返回的高度上添加额外的26px。我试过了:
var videoHeight = $('video').attr('height');
var frameHeight = videoHeight + 26;
$('#videoFrame').css('height',frameHeight+'px');
但正如您所料,它会在返回值的末尾添加26。即如果返回值为337,则变量frameHeight
的输出为33726。
我不能为我的生活弄清楚如何做到这一点。
提前感谢您提供任何帮助
答案 0 :(得分:4)
$('video').attr('height')
返回一个字符串。在字符串中添加数字会将数字转换为字符串,并添加两个不是您想要的字符串。您想要添加两个数字。因此,您必须将此字符串转换为数字,以便您可以添加两个数字:
var videoHeight = parseInt($('video').attr('height'), 10);
var frameHeight = videoHeight + 26;
有几种方法可以将字符串转换为数字。以下是一些较为明显的内容。
parseInt(str, radix)
parseFloat(str)
Number(str)
使用parseInt
时,请始终指定基数,否则,它将根据字符串的内容进行猜测(您几乎不需要)。
答案 1 :(得分:1)
ParseInt。
var frameHeight = parseInt(videoHeight) + 26;
答案 2 :(得分:0)
试试这个。
var frameHeight = Number(videoHeight) + 26;
答案 3 :(得分:0)
你应该在videoHeight变量周围包装parseInt()。尝试一下,我希望这会有所帮助。
答案 4 :(得分:0)
您必须使用parseInt
var videoHeight = parseInt($('video').attr('height'));
答案 5 :(得分:0)
var frameHeight = parseInt(videoHeight,10) + 26;
答案 6 :(得分:0)
var videoHeight = parseInt($('video').attr('height'));
var frameHeight = videoHeight + 26;