你好,我是网络开发的新手。我正在努力使用Yii 1.1的JS函数:isotope-jquery。试图显示具有无限滚动的砖石图库。如果我保留原样它可以工作,但是当使用图像时,它们会在最后重叠。我应该使用imagesLoaded,但应用它是一种痛苦......
原始代码:
$defaultCallback="
function( newElements ) {
/* hide new items while they are loading*/
var newElems = jQuery( newElements );
\$isoContainer.isotope( 'appended', newElems, true );
{$this->infiniteCallback}
}";
修改:
function( newElements ) {
/* hide new items while they are loading*/
var newElems = jQuery( newElements );
\$newElems.imagesLoaded(function(){
\$isoContainer.masonry( 'insert', newElems);
});
{$this->infiniteCallback}
}"
浏览器控制台出错:
["math:", 222, 2853] jquery.infinitescroll.js:171
["math:", 0, 2853] jquery.infinitescroll.js:171
["heading into ajax", Array[2]] jquery.infinitescroll.js:171
["Using HTML via .load() method"] jquery.infinitescroll.js:171
["contentSelector", div.items.isotope] jquery.infinitescroll.js:171
Uncaught ReferenceError: $newElems is not defined index.php?r=products:112(anonymous function) index.php?r=products:112opts.callback jquery.infinitescroll.js:159infscr_loadcallback jquery.infinitescroll.js:327infscr_ajax_callback jquery.infinitescroll.js:501jQuery.extend.each jquery.js:595jQuery.fn.jQuery.each jquery.js:241jQuery.ajax.complete jquery.js:7465fire jquery.js:974self.fireWith jquery.js:1084done jquery.js:7818callback
我尝试了几件事,定义var里面,传递参数,但我不能让它工作......
可能是一个新手问题...
感谢您的帮助
答案 0 :(得分:1)
所以这就是解决方案,就像魅力一样!
function( newElements ) {
/* hide new items while they are loading*/
var newElems = jQuery( newElements );
\$isoContainer.imagesLoaded(function(){
\$isoContainer.isotope( 'appended', newElems,true);
});
感谢@Macsupport