IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques & Frameworks Discussion :

Slide toggle - Scriptaculous ou Jquery ? [script.aculo.us]


Sujet :

Bibliothèques & Frameworks

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Points : 125
    Points
    125
    Par défaut Slide toggle - Scriptaculous ou Jquery ?
    Pour faire un effet de slide toggle (affichage d'une div qui repousse plus pas le contenu dejà affiché, j'ai utilisé la librairie scriptaculous

    Je viens de découvrir jquery

    Lequel vous semble le plus optimisé en terme de ressource ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Juste pour faire un slide toggle ? Pas besoin de scriptaculous ni de jQuery, ça se code facilement sans ajouter des montagnes de scripts.
    Du reste, j'avais déjà proposé un exemple de ce genre de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    var restaure;
    var pas;
    window.onload=function(){
    	var elem = document.getElementById('bloc');
    	var elemt = document.getElementById('lien');
    	restaure = elem.offsetHeight;
    	elem.style.height='0px';
    	elem.style.overflow='hidden';
    	elem.style.display='none';
    	elemt.style.cursor='pointer';
    	pas = restaure/50;
    	elemt.onmouseover = function(){elemt.style.color='red'}
    	elemt.onmouseout = function(){elemt.style.color=''}
    	elemt.onclick = function(){swap('bloc')}
    }
    function swap(elmt){
    	elt=document.getElementById(elmt);
    	if(elt.style.display=='none'){
    		var taille = restaure;
    		elt.style.display = '';
    		var timer = setInterval(function(){
    			if(taille>elt.offsetHeight){elt.style.height=(elt.offsetHeight+pas)+'px'}
    			else{elt.style.height='auto';clearInterval(timer)}
    		},1);
    	}
    	else{
    		var taille = elt.offsetHeight;
    		restaure = taille;
    		elt.style.overflow='hidden';
    		var timer = setInterval(function(){
    			if(taille>=pas){elt.style.height=taille+'px';taille-=pas;}
    			else{elt.style.display='none';clearInterval(timer)}
    		},1);
    	}
    }
    'bloc' étant l'élément qui apparait / disparait ;
    'lien' le lien qui fait basculer l'affichage.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    261
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 261
    Points : 125
    Points
    125
    Par défaut
    Merci pour le script
    Mais soit d1 la zone div à afficher masquer
    et lien_d1 pour declencher l'action
    je ne vois pas comment passer ce dernier paramètre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
     
    <body>
    Introduction
    <div >
    <a href="#" >Afficher - Masquer la zone d1</a>
    </div>
     
    <div id="d1"  >
         Zone d1
    </div>
    Reste du texte
     
    <script language="JavaScript" type="text/JavaScript" >
    				var restaure;
    var pas;
    window.onload=function(){
    	var elem = document.getElementById('d1');
    	var elemt = document.getElementById('lien_d1');
    	restaure = elem.offsetHeight;
    	elem.style.height='0px';
    	elem.style.overflow='hidden';
    	elem.style.display='none';
    	elemt.style.cursor='pointer';
    	pas = restaure/50;
    	elemt.onmouseover = function(){elemt.style.color='red'}
    	elemt.onmouseout = function(){elemt.style.color=''}
    	elemt.onclick = function(){swap('bloc')}
    }
    function swap(elemt){
    	elt=document.getElementById(elemt);
    	if(elt.style.display=='none'){
    		var taille = restaure;
    		elt.style.display = '';
    		var timer = setInterval(function(){
    			if(taille>elt.offsetHeight){elt.style.height=(elt.offsetHeight+pas)+'px'}
    			else{elt.style.height='auto';clearInterval(timer)}
    		},1);
    	}
    	else{
    		var taille = elt.offsetHeight;
    		restaure = taille;
    		elt.style.overflow='hidden';
    		var timer = setInterval(function(){
    			if(taille>=pas){elt.style.height=taille+'px';taille-=pas;}
    			else{elt.style.display='none';clearInterval(timer)}
    		},1);
    	}
    }</script>				
    </body>

  4. #4
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par pierre50 Voir le message
    Merci pour le script
    Mais soit d1 la zone div à afficher masquer
    et lien_d1 pour declencher l'action
    je ne vois pas comment passer ce dernier paramètre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div >
    <a href="#" id="lien_d1">Afficher - Masquer la zone d1</a>
    </div>
     
    <div id="d1"  >
         Zone d1
    </div>
    ???
    Je ne réponds pas aux questions techniques par MP.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    <head>
    <script language="JavaScript" type="text/JavaScript" >
    				var restaure;
    var pas;
    window.onload=function(){
    	var elem = document.getElementById('d1');
    	var elemt = document.getElementById('lien_d1');
    	restaure = elem.offsetHeight;
    	elem.style.height='0px';
    	elem.style.overflow='hidden';
    	elem.style.display='none';
    	elemt.style.cursor='pointer';
    	pas = restaure/50;
    	elemt.onmouseover = function(){elemt.style.color='red'}
    	elemt.onmouseout = function(){elemt.style.color=''}
    	elemt.onclick = function(){swap(elem); return false}
    }
    function swap(elemt){
    	elt=document.getElementById(elemt);
    	if(elt.style.display=='none'){
    		var taille = restaure;
    		elt.style.display = '';
    		var timer = setInterval(function(){
    			if(taille>elt.offsetHeight){elt.style.height=(elt.offsetHeight+pas)+'px'}
    			else{elt.style.height='auto';clearInterval(timer)}
    		},1);
    	}
    	else{
    		var taille = elt.offsetHeight;
    		restaure = taille;
    		elt.style.overflow='hidden';
    		var timer = setInterval(function(){
    			if(taille>=pas){elt.style.height=taille+'px';taille-=pas;}
    			else{elt.style.display='none';clearInterval(timer)}
    		},1);
    	}
    }</script>	
    </head>
    <body>
    Introduction
    <div >
    <a href="#" id="lien_d1">Afficher - Masquer la zone d1</a>
    </div>
     
    <div id="d1"  >
         Zone d1
    </div>
    Reste du texte
     
    			
    </body>
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Slide toggle avec checkbox
    Par boogiball dans le forum jQuery
    Réponses: 4
    Dernier message: 27/01/2015, 10h23
  2. [MooTools] Joomla et Mootools : combiner un slide toggle avec un scroll
    Par fredericS dans le forum Bibliothèques & Frameworks
    Réponses: 16
    Dernier message: 03/06/2014, 12h32
  3. Effet Slide Toggle
    Par ghjiseppu dans le forum jQuery
    Réponses: 3
    Dernier message: 24/05/2011, 18h44
  4. Réponses: 2
    Dernier message: 22/04/2010, 15h38
  5. [AJAX] [Scriptaculous] Effet Slide.DOwn de Script.aculo.us
    Par eppo81 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/01/2008, 19h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo