2016-12-06 29 views
0

我想用jQuery Isotope筛选JavaScript中的网格视图,它工作正常,如果我点击控制F5,或者我有我的开发人员工具打开,但是当我只是去以正常方式,或刷新页面,它不起作用。使用同位素过滤结果与控制F5只工作

这里是我的代码:

$(window).load(function(){  
     var dataFilters = []; 
     dataFilters = getdataFilters(); 
     //dataFilters now has the value of = [".val1",".val2"] 
     $('#grid').isotope({ filter: dataFilters.join(', ') }); 
    }); 

我使用window.load的原因是,我在等待要加载的所有图像,然后我进行过滤。

回答

0

正是因为您使用的是window.load,您只能在刷新页面时进行过滤,因为过滤功能仅在此处声明。

如果只想在加载所有图像时初始化同位素,则可以使用图像加载的库(由同一开发人员)和同位素一起使用。从文档

http://isotope.metafizzy.co/layout.html#imagesloaded

示例代码:

var $grid = $('.grid').imagesLoaded(function() { 
    // init Isotope after all images have loaded 
    $grid.isotope({ 
    // options... 
    }); 
}); 
+0

我想这一点,它给了我这个错误:'类型错误:$(...)imagesLoaded不是一个函数(...)' – Jacky

+0

你需要添加一个脚本src到你的页面,以便使用图片加载的库 – dommmm

+0

但是我在window.load的开发环境中尝试了这个,它工作正常,我可以刷新页面或导航到页面,以及它工作的很好,当我将代码部署到生产环境时,它不在那里工作。我正在浏览Chrome – Jacky