jQuery - 创建一个宽高比为16:9的元素

时间:2013-11-02 22:36:10

标签: jquery window divide

我实际上正在制作一个图片库,其中包含我制作的一些视频的缩略图。为此,我通过以下代码计算了画廊的内容。

$(function() {
$(window).resize(function() {
    var width = $(this).width() - 200;
    $("#gallery").css("width", width);
}).resize();});

现在每张图片的宽高比应为16:9。因此,我必须划分画廊宽度16的宽度并将此值乘以9.看起来不那么难但实际上我被卡住了。希望有人可以帮助我,谢谢!

2 个答案:

答案 0 :(得分:2)

您应该重新计算元素高度:

$(function() {
    $(window).resize(function() {
        var width = $(this).width() - 200;
        $("#gallery").css({
            "width": width,
            "height": width*(9/16)
        });
    }).resize();
});

这是一个概念验证小提琴:http://jsfiddle.net/teddyrised/w555h/6/

答案 1 :(得分:-1)

试试这个:

$(function() {
$(window).resize(function() {
    var width = $(this).width() - 200;
var ratio = 16 / 9.0;
    $("#gallery").css("width", width).css("height", Math.round(width * ratio));
}).resize();});