我的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中正确定义它。