très étrange question jquery
-
27-10-2019 - |
Question
Je suis en train d'exécuter une fonction de chargement de la page, mais sa ne fonctionne pas. Je l'ai ajouté dans tous les endroits que je peux penser et seulement chose qui fonctionne est:
$("html").mousemove(function(event) {
$('#project_thumbs_container').masonry('reload');
});
J'ai essayé des retards mais je l'ai eu recours à la méthode hacky ci-dessus: (
Est-ce que quelqu'un a des suggestions quant à la raison pour laquelle ma fonction ne fonctionne pas?
Mise à jour:
J'utilise la maçonnerie pour jquery. Mon problème est quand je charge une page qui utilise maçonnerie avec ajax, il les montre dans une seule colonne. $('#project_thumbs_container').masonry('reload');
remet à zéro correctement, mais il ne fonctionne que selon la méthode de mousemove
ci-dessus.
La solution 2
A moins que quelqu'un a une meilleure réponse, je viens de mettre le code dans mon extrait de fadeIn();
après appel ajax est complet:
this.fadeIn('slow', function() {
$('#project_thumbs_container').masonry('reload');
});
Semble au travail.
Autres conseils
Il semble que vous avez l'un des deux problèmes:
1) malformée HTML qui est à l'origine d'une erreur, ce qui ne permet pas le code correctement analyser lors de l'utilisation du document syntaxe onReady: $ (function () {...});
2) Maçonnerie est peut-être le chargement de manière asynchrone, ce qui signifie que le rappel « onReady » pourrait ne pas être celui que vous souhaitez utiliser. Votre appel Ajax ressemblerait plus à ceci:
$('body').load('index.html', function() {
$('#project_thumbs_container').masonry();
});
Essayez quelque chose comme ça.
$(document).ready(function(){
$('#project_thumbs_container').masonry('reload');
});
Vous pouvez mettre ce code n'importe où sur la page et cela devrait fonctionner, aussi longtemps que les dépendances ont déjà été chargées.
Il suffit de mettre votre fonction dans cette
$(document).ready(function() {
// Handler for .ready() called.
// your function
});
lorsque votre page charge la fonction exécutera