2010-02-14 18 views
2

J'ai deux fonctions Jquery que je peux utiliser pour travailler seul sur la page, mais pas quand je les ai toutes les deux en même temps. Je suis incapable de voir ce que je pourrais faire de mal car j'ai un code similaire qui fonctionne bien sur d'autres pages.Jquery 1.4: Deux fonctions ne fonctionnent pas ensemble sur la même page

Première fonction:

$(document).ready(function() 
{ 
    $("#add-questions").click(function() {$("#extra-questions").fadeIn(800);}); 
}); 

Deuxième fonction:

$(document).ready(function() 
{ 
    if($PHPTRIGGER == true) 
    { 
     $("#pop-text").html("Message sent."); 
     $("#pop").show(); 
     setTimeout(function() {$("#pop").animate({height: "hide", opacity: "hide"}, "medium");}, 4000); 
    } 
}); 

Le "$ PHPTRIGGER" est une variable php Je passe à Jquery (StackOverflow ne me permet pas mettre en vrai php donc je l'ai marqué comme ça).

J'ai essayé de mettre les deux fonctions dans le même ordre de conversion, mais elles ne fonctionnent pas ensemble.

Des pensées?

Merci.

MISE À JOUR:

Il est la première fonction qui ne répond pas à l'événement de clic. Cela ne fonctionne qu'après que la deuxième fonction a été effectuée (qui est liée à une soumission de formulaire). Je me demande toujours pourquoi c'est ainsi.

FINAL MISE A JOUR:

résolu le problème avec Firebug. J'ai dû initialiser le PHPTRIGGER transmis via PHP avec une valeur vide ou la première fonction échoue. C'est plutôt drôle parce que cette fonction ne prend pas de PHP. Fondamentalement, une erreur de syntaxe (stricte) dans la deuxième fonction a causé l'échec de la première fonction, alors que la seconde fonction elle-même fonctionnait correctement.

+1

Si vous n'utilisez pas déjà Firefox avec Firebug, installez-le (ou quelque chose de similaire à Firebug for IE) et vérifiez la console pour tout message d'erreur. –

+1

Et vous êtes sûr que l'élément "add-questions" cible est vraiment là et a vraiment cette valeur "id" (et est vraiment la seule chose avec cette valeur "id")? Comme le dit @Felix, Firebug est inestimable lorsque vous essayez de déterminer la santé mentale de votre installation. – Pointy

+0

Firebug installé, jetez un oeil maintenant. – Tom

Répondre

1

Ils travaillent pour moi quand je les mets dans une page de test:

  • pop se cache au bout de 4 secondes. Pop-text lit "message envoyé"

  • Lorsque je clique sur # add-questions, les N ° supplémentaires-questions de fane dans (en supposant un affichage initial: none)

Si vous voulez quelque chose d'autre que cela, vous avez probablement juste allé les yeux rougis à la recherche à votre propre code (peut-être que vous vouliez #pop aux deux endroits au lieu de #pop dans un et pop-texte dans un autre?)

D'autres choses que vous pourriez essayer: exécuter dans Chrome et vérifier la console JS pour les erreurs (dans si votre débogueur actuel ne vous montre pas une erreur et que l'exécution est simplement interrompue). Vérifiez votre HTML pour vous assurer que les identifiants référencés existent. Vérifiez votre CSS pour vous assurer que vos valeurs initiales sont correctes. Assurez-vous que votre variable $ PHPTRIGGER est correctement transmise. Faites-nous savoir si vous avez plus d'informations ou si vous trouvez quelque chose.

+0

Plynx, merci de prendre le temps de tester est sorti. – Tom

+0

Pas de problème - firebug est génial et il y a aussi un plugin JQuery - mais je garde toujours Chrome comme débogueur secondaire parce que parfois on attrape quelque chose que l'autre n'a pas. Dans mon expérience, quand quelque chose semble juste "ne pas aller" dans Javascript, c'est à cause d'un simple bug quelque part que le débogueur vous dira la plupart du temps. – Plynx