Partage
  • Partager sur Facebook
  • Partager sur Twitter

Auto actualisation d'un code Jquery

Anonyme
    23 octobre 2016 à 19:37:01

    var largeur = $(window).width();
    
    $(function(){
    	if (largeur  <= 500 && largeur >=250){		
    		$('.li_menu').toggle();
    		$('#head_li').click(function(){
    			$('.li_menu').toggle();
    		});
    	}
    	else{
    		$('#head_li').hide();
    		$('.li_menu').show();
    	}
    	
    });
    


    Bonjour, j'aimerai que le code ci-dessus s'actualise automatiquement. Car il faut actualiser la page (F5) manuellement !

    Savez-vous comment faire ?

    -
    Edité par Anonyme 23 octobre 2016 à 19:37:20

    • Partager sur Facebook
    • Partager sur Twitter
      23 octobre 2016 à 19:51:57

      Il suffit de lancer ce code non seulement à l'ouverture mais aussi lors des changements de format de la page (évènement window.onresize).

      Sans JQuery cela donnerait :

      window.onload=window.onresize=function(){/*...*/}

      -
      Edité par 007julien 23 octobre 2016 à 19:52:46

      • Partager sur Facebook
      • Partager sur Twitter
      Anonyme
        23 octobre 2016 à 20:08:31

        Ouais mais comment je l'intègre dans mon code JQuery ?

        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          26 octobre 2016 à 0:53:20

          Salut,

          Ton idée n'a rien d'optimale, tu devrais plutôt gérer ce genre de choses en CSS.

          Mais voilà :

          $(function () {
          	'use strict';
          
          	var $window = $(window);
          
          	var pageResize = function () {
          		var windowWidth = $window.width();
          
          		if (windowWidth <= 500 && windowWidth => 250) {
          			$('.li_menu').toggle();
          	        $('#head_li').on('click', function () {
          	            $('.li_menu').toggle();
          	        });
          		}
          		else {
          			$('#head_li').hide();
                  	$('.li_menu').show();
          		}
          	};
          
          	pageResize();
          	$window.on('resize', pageResize);
          });



          • Partager sur Facebook
          • Partager sur Twitter

          Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

            26 octobre 2016 à 7:39:07

            Salut,

            Je ne comprend pas tres bien ce que tu cherches a faire.

            Qu'est ce que tu veux dire par "le code ci-dessus s'actualise automatiquement." ???

            En effet, un code ne s'actualise pas. Une page peut etre mais pas un code.

            1er cas : est ce que tu veux que ton code s'appelle lui meme une fois qu'il est termine ?

            Exemple :

            function ma_fonction() {
              // Mon code 
              // Une fois mon code termine, je reexecute ma fonction:
              ma_fonction();
            }

            Dans ce cas la tu auras un truc infinie. Car ta fonction s'appellera elle meme.

            2ieme cas: est ce que tu veux que ta fonction soit exacuter tout les x secondes?

            Exemple:

            function ma_fonction() {
              // Mon code 
            }
            
            setInterval(function(){
              ma_fonction();
            }, 5000);

            Dans ce cas la, la fonction sera execute toutes les 5000 millisecondes (toutes les 5 secondes). Et ca meme si la precedente n'as pas termine.
            Imagine ta fonction prend 7 secondes pour s'executer et que toi tu appelles la fonction toutes les 5 secondes. La tu auras un probleme (mais c rare car une fonction mais souvent quelque milliseconde pour s'executer donc...)

            3ieme cas: Tu veux actualiser la page ?

            window.location.reload()

            4ieme cas: Tu veux executer ton code lorsque ta page est chargee?

            jQuery(document).ready(function(){
              // Mon code
            });

            La ton code sera execute lorsque le DOM sera pret, c'est a dire ta page sera charge. Probleme : Imaginons que tu as dans ta page de grosse images et que ton code a besoin de calculer la hauteur de ta page. Eh bien ta page sera la mais comme ton image n'a pas finit de charger, si tu recupere la hauteur de ta page tu auras quelque chose de faux.

            jQuery(window).load(function(){
              // Mon code
            });

            La ton code sera execute quand tout les elements de ta page seront charges (donc si tu veux recuperer la hauteur de ta page, ce sera bon). Le soucis c'est que si tu veux que ton code s'execute tout de suite, cette methode n'est pas bonne. utilise le document ready cite plus haut.

            5ieme cas : Tu veux ta fonction soit reexecuter quand l'utilisateur resize la fenetre ?

            function ma_fonction() {
              // Mon code 
            }
            
            $( window ).resize(function(){
              // Mon code
              ma_fonction();
            });



            Bon j'espere t'avoir un peu aide.




            -
            Edité par Scion 26 octobre 2016 à 7:41:09

            • Partager sur Facebook
            • Partager sur Twitter
              29 octobre 2016 à 11:05:17

              Il est vrai que la question est très mal posée. Le code soumis adaptant le menu à la largeur de la page lors de son ouverture (avec le $ de jQuery), la question posée ne pouvait porter que sur une nouvelle exécution lors du redimensionnement de la page. Rhoomanu a répondu. 

              • Partager sur Facebook
              • Partager sur Twitter

              Auto actualisation d'un code Jquery

              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
              • Editeur
              • Markdown