1

我已经拼凑了一个简单的功能,当一些标志的高度显得太大时调整它们的高度。代码在我第一次测试时运行良好。但现在它只适用于每 3 次和 4 次点击。我怀疑它与文档加载功能与图像加载有关,但我不确定。

<script>
// Get on screen image
$( document ).ready(function()

 {
$('#jobcontainer img').each(function() {
      if($(this).height()>50) {
         $(this).addClass('reduceheight')
      }
})

<style>
.reduceheight { width:40%;}
</style>


<table id="jobcontainer" width="100%" border="0" cellpadding="0" cellspacing="0">
    <tr class="dknytliste">
        <td width="138" valign="top" class="dknytliste" style="padding-right:1em;"><p><a href="" class="dknytlink" title=""></a></p></td>
        <td><a href="" class="dknytlink" title=""><img src="" /> </a></td>
    </tr>
    <tr> </tr>
</table>

在这里查看:http: //dknyt.dk/forside/index2.php 它是右侧的作业容器。

帮助将非常apprciated。

4

2 回答 2

3

您将代码放入document.ready,您应该使用加载:

$(window).on('load', function() {

    $('#jobcontainer img').each(function() {
       if($(this).height()>50) {
         $(this).addClass('reduceheight');
      }
});

此外,您还有一些语法错误。您忘记了;之后.addClass('reduceheight')以及准备好关闭事件文档(现在 $(window).on('load'...)。

此外,您忘记了</script>关闭。

于 2013-10-29T12:51:12.020 回答
1

而不是准备好不等待图像加载的文档使用window.onload

window.onload = function(){
  $('#jobcontainer img').each(function() {
      if($(this).height()>50) {
         $(this).addClass('reduceheight')
  }
}
于 2013-10-29T12:49:43.930 回答