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

jQuery Discussion :

Conflit entre carouFredSel et script navigation par onglets


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur web amateur
    Inscrit en
    Août 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 84
    Par défaut Conflit entre carouFredSel et script navigation par onglets
    Bonjour,
    J'ai un système de navigation par onglets à l'intérieur desquels il y a des carrousels animés par le plugin carouFredSel.
    Mais seul le carrousel de l'onglet actif au chargement (ou au rafraîchissement) de la page est affiché,
    et si je clique sur un autre onglet, j'ai pas de carrousel.
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    <!DOCTYPE html>
    <html>
    <head>
    	<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
    	<link href="style_onglets.css" rel="stylesheet" type="text/css"  />
    	<link href="style_caroufredsel.css" rel="stylesheet" type="text/css"  />
    	<script src="jquery-1.10.1.min.js" type="text/javascript" ></script> 
    	<script src="onglets.js" type="text/javascript" ></script>
    	<script src="jquery.carouFredSel-6.2.1.js"type="text/javascript" ></script>
    	<script>
    		$(function() {
    			$('#foo1').carouFredSel({
    				prev: '#prev1',
    				next: '#next1',
    				pagination: "#pager1"
    			});
    			$('#foo2').carouFredSel({
    				prev: '#prev2',
    				next: '#next2',
    				pagination: "#pager2"
    			});
    		});
     
    	</script>  
     
    </head>
    <body >
    	<div class="bloc">
    		<div class="title">
    			<div class="tabs" id="tabs1">
    				<a href="#onglet1">vidéos</a>
    				<a href="#onglet2">Photo-galeries</a>
    			</div>
    		</div>
    		<div class="content">
    			<div id="onglet1">
    				<div class="wrapper">
    					<div class="list_carousel">
    						<ul id="foo1">
    							<li><img src="pix/01.png"></li><li><img src="pix/02.png"></li>
    							<li><img src="pix/03.png"></li><li><img src="pix/04.png"></li>
    							<li><img src="pix/05.png"></li><li><img src="pix/06.png"></li>
    						</ul>
    						<div class="controls_slide">
    							<a id="prev1" class="prev" href="#"> << </a>
    							<a id="next1" class="next" href="#"> >> </a>
    							<div id="pager1" class="pager"></div>
    						</div>
    					</div>
    				</div>
    			</div>
    			<div id="onglet2">
    				<div class="wrapper">
    					<div class="list_carousel">
    						<ul id="foo2">
    							<li><img src="pix/07.png"></li><li><img src="pix/08.png"></li>
    							<li><img src="pix/09.png"></li><li><img src="pix/10.png"></li>
    							<li><img src="pix/11.png"></li><li><img src="pix/12.png"></li>
    						</ul>
    						<div class="controls_slide">
    							<a id="prev2" class="prev" href="#"> << </a>
    							<a id="next2" class="next" href="#"> >> </a>
    							<div id="pager2" class="pager"></div>
    						</div>
    					</div>
    				</div>
    			</div>
    		</div>
    	</div>
     
    </body>
    </html>
    Le js des tabs:
    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
    jQuery(function($){
    	var anchor = window.location.hash;
    	$('.tabs').each(function(){
    		var current = null;
    		if(anchor !='' && $(this).find('a[href="'+anchor+'"]').length > 0){
    			current = anchor;
    		}else{
    			current = $(this).find('a:first').attr('href');
    		}
    		$(this).find('a[href="'+current+'"]').addClass('active');
    		$(current).siblings().hide();
    		$(this).find('a').click(function(){
    			var link = $(this).attr('href');
    			if(link == current){
    				return false;
    			}else{
    				$(this).siblings().removeClass('active');
    				$(this).addClass('active');
    				$(link).show().siblings().hide();
    				current = link;
    			}
    		});
    	});
    });
    Aucune erreur n'est visible sur la console de firebug.
    Quelqu'un peut-il m'aider?
    Merci.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    On ne peut pas parler de "conflit", mais plutöt de non initialisation.

    Au chargement de la première page tu initialises le carrousel, mais il ne s'applique qu'aux éléments existants sur la page au moment de l'initialisation. Les onglets n'étant pas encore chargés, les éléments recevant le carrousel ne sont pas initialisés avec le carrousel.

    Il va te falloir trouver le callback du load() afin d'initialiser les carrousel à ce moment là.
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur web amateur
    Inscrit en
    Août 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 84
    Par défaut
    Citation Envoyé par SpaceFrog Voir le message
    Il va te falloir trouver le callback du load() afin d'initialiser les carrousel à ce moment là.
    Je n'y connais pas grand' chose en javascript pour tripoter dans carouFredSel-6.2.1, alors, votre aide me serais précieuse.
    En attendant, je cherche un autre plugin de carrousel, espérant ne pas avoir le même problème en le combinant à une navigation en onglets qu'avec carouFredSel.

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    ce n'est pas dasn le plugin de carrousel qu'il faut "trifouiller", mais dans ton plugin de navigation par onglet
    il doit y avoir une fonction callback qui se lance àprès le chargement d'un onglet
    c'est a ce moment là qu'il faut lancer le carrousel
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur web amateur
    Inscrit en
    Août 2012
    Messages
    84
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Calvados (Basse Normandie)

    Informations professionnelles :
    Activité : Développeur web amateur
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2012
    Messages : 84
    Par défaut
    le plugin de navigation par onglets que j'ai utilisé est tiré d'un tuto de grafikart(navigation par onglets) qui ne dispose pas de fonction de callback.
    je penche sur le jQuery UI tabs,je pense qu'il gère lui les callbacks, sinon, je continue à voir d'autres plugins.

    Merci pour l'info.

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    dans le tuto si il y a un load() ... il y a un callback ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

Discussions similaires

  1. [FLASH 8] Navigation par onglets
    Par Sim_JF dans le forum EDI/Outils
    Réponses: 3
    Dernier message: 05/07/2007, 17h28
  2. [AJAX] Récupération id en navigation par onglet
    Par Zadoner dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 20/04/2007, 09h37
  3. Navigation par onglet
    Par elghadi_mohamed dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 16/04/2007, 10h34
  4. [WinForms]Passer du MDI à la navigation par onglet
    Par jyl2002 dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 14/10/2006, 13h15
  5. Conflit entre javascript et script ASP
    Par Mvu dans le forum ASP
    Réponses: 2
    Dernier message: 22/02/2005, 16h28

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