Problème avec deux fonctions javascript.

Résolu
Bonjour,

Je n'arrive pas à associer deux fonction javascript ensembles il y a que une ou l'autre fonction qui va mais jamais les deux en même temps.

Voici mes fonctions :

$(document).ready(function() {
	$('#menu a').click(function() {
		//PREMIERE FONCTION
		var page = $(this).attr('href');
		$('#content').load('content/' + page + '.php');
		return false;

		//DEUXIEME FONCTION
		window.history.pushState("", "", "/" + page);
	});
});


Si je supprime une des deux fonctions l'autre fonctionne parfaitement donc il n'y à pas de problème dans les fonctions mais un problème pour les faire fonctionner ensemble.

--
Cordiallement Aka13

5 réponses

  1. Bonjour,

    C'est pas clair, je ne vois pas deux fonctions dans ton codes, il y en a qu'une seule.
    0
    1. Le "return false" est une indication de fin de fonction: il est donc normal que tout code en dessous ne soit pas exécuté.
      0
      1. Ok tu doit pas connaitre le javascript toi lol

        Quand ont marque "//" sa veut dire que c'est un commentaire.
        Donc ce qui est en dessus de //PREMIERE FONCTION c'est la première et l'autre c'est la seconde pas compliqué pourtant...
        0
        1. up
          0
        2. up.
          0
        3. une fonction c'est function(parameter) { }
          là il y en a qu'une seule.
          et je sais très bien que // signifie un commentaire.
          0
        4. Aka13 ne semble pas très bien connaître le javascript, mais il n'a pas complètement tort non plus. Il parle simplement de deux fonctions sans autre précision : tu as interprété "définition de fonction" alors que dans son esprit c'était apparemment "appel de fonction".
          0
      2. Bonjour

        Ok tu doit pas connaitre le javascript toi lol
        Non, il est clair que c'est toi qui ne connais pas le javascript.
        Sinon, au lieu de faire des up, tu aurais tenu compte de la bonne explication déjà donnée par A.Nonymous. Dès que tu exécutes le "return false" tu quittes la fonction et ce qu'il y a après n'est jamais exécuté.
        0
        1. +1
          return signifie d'envoyer un code retour pour mettre fin à la fonction.
          0
        2. Si je met "return false" à la fin sa change rien il y a toujours que UNE des deux "définition de fonction" qui fonctionne.
          0
        3. Mettre "return false" à la fin ne peut que débloquer la situation et exécuter les 2 parties de fonction.
          Le JS a-t-il bien été actualisé ?
          0
      3. je n'ai pas trop creusé à quoi servent ces deux instructions:

        //PREMIERE FONCTION
        var page = $(this).attr('href');
        $('#content').load('content/' + page + '.php');
        return false;

        //DEUXIEME FONCTION
        window.history.pushState("", "", "/" + page);

        mais apparemment chacune charge une autre page, donc quand la nouvelle page est affichée, dans cette nouvelle page il n'y a plus la deuxième "fonction", puisque ton script est dans la page origine.
        0
        1. Merci Alain

          J'ai trouvé comment résoudre le problème
          J'ai remplacer window.history.pushState par history.pushState
          0