我正在使用Jquery插件同位素。根據屏幕分辨率的不同,我需要銷燬同位素小部件以防止它運行其功能。我正在使用以下代碼:運行jquery函數之前檢查Widget是否可用
$(window).smartresize(function(){
if($(window).width() < 700) {
container.isotope('destroy');
}else {
container.isotope({$options});
}
});
這適用於第一個調整大小,同位素部件被銷燬。但是,如果我再次調整(以下700像素)以下異常被拋出:
cannot call methods on isotope prior to initialization; attempted to call method 'destroy'
我如何檢查,看看是否container.isotope運行container.isotope('destroy');
之前存在?
完整的工作守則
$(window).load(function(){
var container = $('{$this->selector}')
if($(window).width() > 701){
container.isotope({$options});
}else{
container.isotope = false;
}
$(window).smartresize(function(){
if($(window).width() < 700) {
container.find('.item').removeAttr('style');
if(container.isotope) {
container.isotope('destroy')
container.isotope = false
}
} else{
container = $('{$this->selector}')
container.isotope({$options})
}
});
});
感謝ilan,不得不對代碼做幾處修改。但把它設置爲假的似乎是訣竅。完整的代碼在原始問題中。 – w00tw00t111