我有一个横幅,希望在所有设备上全角显示。

这样算出宽度就很好了:

var windowWidth = window.innerWidth,
    bannerHeight = "100px";

    $('.banner').css({"background-size" : windowWidth + "px " + bannerHeight, "height" : bannerHeight});


但是,我正在努力弄清楚如何计算背景图像的实际高度,以便它以正确的分辨率完美显示。

任何帮助将是巨大的!

这是我所拥有的东西:
http://jsfiddle.net/52wow970/

最佳答案

您需要提取图像信息,然后调整横幅的大小...

var tmpImg = new Image();
tmpImg.src="http://redspadetheater.com/wp-content/uploads/2014/04/[email protected]"; //or  document.images[i].src;
$(tmpImg).on('load',function(){
  orgWidth = tmpImg.width;
  orgHeight = tmpImg.height;
  alert(orgWidth+"x"+orgHeight);
    $('#container .banner').height(orgHeight)
});


同时更改背景大小:“覆盖”

这是小提琴:http://jsfiddle.net/52wow970/4/

10-08 15:48