ここにそれを行う方法があります。それは素晴らしいことではありませんが、うまくいきます。 http://jsfiddle.net/78Lvc/11/
イメージタグを次のように変更しました。
<img src="http://fitzgeraldmedia.net/images/range1.jpg" id="img" imgWidth="467" imgHeight="700" onload="fixMyWidth()"/>
いくつかの属性とonload
. コードまたは手動で属性を追加する必要があります。高さと幅が必要な理由は、JS で必要なスペースを計算するために画像の高さを知る必要があるためです。
次に、インラインで、次のコードがあります。
<script>
//get the width of the browser right now
var containerWidth = document.body.offsetWidth;
//get the attributes that we have specified for this image
var imgWidth = document.getElementById("img").getAttribute("imgWidth");
var imgHeight = document.getElementById("img").getAttribute("imgHeight");
//since the img is to be 50% of the container width
var widthRatio = containerWidth / imgWidth / 2 ;
//now set the height of the image
document.getElementById("img").style.height = (imgHeight * widthRatio) + "px";
//once the image has actually loaded, run this
function fixMyWidth(){
//this will make it 'responsive' again
document.getElementById("img").style.height = "";
document.getElementById("img").style.width = "";
}
</script>