所以我想做一个带有li容器和一个图像的图像画廊,根据其原始图像尺寸设置此图像宽度或高度,这就是我得到的距离。

<ul>
<li><a><img class='imgGal' src='oneHorizontalImg.jpg'></a></li>
<li><a><img class='imgGal' src='oneVerticalImg.jpg'></a></li>
<li><a><img class='imgGal' src='anotherHorizontalImg.jpg'></a></li>
</ul>


和javascript部分

if ( $('.imgGal').height() > $('.imgGal').width() ) {
$('.imgGal').css('width','100%'); }
else {
$('.imgGal').css('height','100%');
};


但是由于某些原因,即使我执行Alert($('。imgGal')。height())时,也要在页面底部设置此代码;或alert($('。imgGal')。width())我得到的返回值为0,所以无论条件是什么,都将始终应用else。

另外,我不确定结果将是如何根据每个img应用不同的结果。

无论如何,在此先感谢您提供的所有帮助。

最佳答案

您可以将javascript添加到图像的加载事件中,以确保它们首先存在。

$('.imgGal').on('load', function(){
     if ( $(this).height() > $(this).width() ) {
          $(this).css('width','100%'); }
     else {
          $(this).css('height','100%');
     };
});

09-25 17:42