在运行Jquery函数之前检查Widget是否可用
我正在使用Jquery插件同位素。 根据屏幕分辨率,我需要销毁同位素小部件以防止其运行其function。 我使用以下代码:
$(window).smartresize(function(){ if($(window).width() < 700) { container.isotope('destroy'); }else { container.isotope({$options}); } });
这在第一次resize时工作正常,同位素小部件被破坏。 但是,如果我再次resize(低于700px),则抛出以下exception:
cannot call methods on isotope prior to initialization; attempted to call method 'destroy'
如何在运行container.isotope('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() selector}') container.isotope({$options}) } }); });
$(窗口).smartresize(函数(){ if($(window).width()<700){ if(container.isotope){ container.isotope( '摧毁') container.isotope = false } } else if(container.isotope){ container.isotope({$选项}) } })
怎么样:
if (container.isotrope) //It exists. Do whatever else //Does not exist. Do whatever else end