文档加载事件的Jquery偶尔会触发

时间:2013-10-29 12:45:31

标签: jquery events

我已经将一个简单的函数拼凑在一起,当它们看起来太高时会调整某些徽标的高度。我第一次测试时代码工作正常。但现在它只适用于每3rd第3次点击。我怀疑它与doc load函数和图像加载有关,但我不确定。

<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它是右边的工作容器。

帮助非常适合。

2 个答案:

答案 0 :(得分:3)

您将代码放在document.ready中,您应该使用loading:

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

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

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

此外,您忘记了</script>结束。

答案 1 :(得分:1)

使用window.onload

代替不等待加载图像的文档就绪
window.onload = function(){
  $('#jobcontainer img').each(function() {
      if($(this).height()>50) {
         $(this).addClass('reduceheight')
  }
}