onLoad()jQuery由于Uncaught TypeError无法正常工作:无法读取未定义的属性'hps'

时间:2015-12-09 01:10:47

标签: javascript jquery html

我的onLoad jQuery功能不起作用。 HTML以“加载”gif开头,jQuery应该在淡出featured-photo时淡入image-loader

在html中调用loadImage函数,并导致错误,因为HTML中未定义window.app。像这样:

HTML

 <div class="featured-photo">
      <img src="<?php echo wp_get_attachment_url( get_post_thumbnail_id($post->ID) ); ?>" class="lazy-image" onload="window.app.hps.loadImage(this, '.featured-photo')"/>
 </div>

的application.js

    loadImage: function(img, attachment_class)
    { 
            var backgroundImage = $(img).attr('src');
                console.log("Lazy load image: "+backgroundImage);

                $('.image-loader').fadeOut();
                $('.post-loaders').fadeIn();
                $(attachment_class).css("opacity", 0).css('background-image', 'url(' + backgroundImage + ')').css("opacity", 1);
    }

我得到的错误是Uncaught TypeError: Cannot read property 'hps' of undefined,我理解这意味着在html页面中未定义window.app。我的问题是如何在html中正确定义window.app以便该函数能够正常工作?

该功能在application.js中定义如下:

$(document).ready(function() { 
    window.app = new Application({ el: $("body") });
    if ( $('body').hasClass("page-id-142") ) { revenew(); }
});

但我不确定如何在HTML中正确定义它。

0 个答案:

没有答案