/ / Vérifier si le widget est disponible avant d'exécuter la fonction Jquery - javascript, jquery

Vérifier si le widget est disponible avant d'exécuter la fonction Jquery - javascript, jquery

J'utilise l'isotope du plugin Jquery. En fonction de la résolution de l'écran, je dois détruire le widget Isotope pour l'empêcher d'exécuter sa fonction. J'utilise le code suivant:

$(window).smartresize(function(){
if($(window).width() < 700) {
container.isotope("destroy");

}else {
container.isotope({$options});
}
});

Cela fonctionne bien sur le premier redimensionnement, le widget isotope est détruit. Cependant, si je redimensionne à nouveau (en dessous de 700px) l’exception suivante est levée:

cannot call methods on isotope prior to initialization; attempted to call method "destroy"

Comment puis-je vérifier si container.isotope existe avant de l'exécuter? container.isotope("destroy");?

Code de travail complet

      $(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})
}
});
});

Réponses:

0 pour la réponse № 1

$(window).smartresize(function(){
if($(window).width() < 700) {
if(container.isotope) {
container.isotope("destroy")
container.isotope = false
}
} else if(container.isotope) {
container.isotope({$options})
}
})


0 pour la réponse № 2

Que diriez-vous:

if (container.isotrope)
//It exists. Do whatever
else
//Does not exist. Do whatever else
end