J'ai javascript placé dans la fonction jquery $ (document) .ready. Il recherche une ancre dans l'URL, puis exécute une fonction distincte pour afficher le contenu correspondant.jquery fonction prête non exécutable
Le code s'exécute si je place une alerte à l'intérieur de l'instruction if quelque part, mais ne courra pas autrement. J'ai stocké tous les noms d'ancre dans un tableau appelé 'anchorNameList', et je vérifie pour voir si l'ancre dans l'URL existe. Je veux seulement que la fonction s'exécute sur le pageload initial, donc je mets la valeur par défaut de 'currentAnchor' à 1000 et la change à chaque itération.
if (currentAnchor == 1000 && document.location.hash.substring(1)) {
var checkForThisAnchor = document.location.hash.substring(1);
for (var j=0; j < anchorNameList.length; j++) {
if (anchorNameList[j] == checkForThisAnchor) {
expandMe(j);
}
}
}
Si cela fonctionne lorsque vous placez des moyens d'alerte, il y a un problème de synchronisation. – kobe
Votre tag de script jQuery est-il avant ou après votre propre balise de script de fichier JS? Il doit venir avant. –
Le script jQuery est appelé dans l'en-tête. La fonction expandMe que j'appelle est définie au-dessus de la fonction ready. Essentiellement, l'ordre sur la page est: head -> (jQuery reference) body -> (fonction expandMe, $ (document) .ready et le contenu inclus). Devrais-je réorganiser la commande? –