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 :

Slider incompatible IE7


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut Slider incompatible IE7
    Bonsoir,je débute en javascript et jquery.
    Je suis entrain de me faire un site portfolio.
    J'ai voulu faire une gallerie avec jquery et effet de slider.
    Sous firefox,c'est ok.pas de message d'erreur ou mème d'avertissement avec firebug.
    Par contre sous IE7,pas de message d'erreur,mais malgré sa ,le slider ne fonctionne pas.

    voici la partie html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    			<div id="galerie">
    				<div class="slider">
    					<a href="#"><img src="image/facebook.png"></img></a>
    					<a href="#"><img src="image/facebook.png"></img></a>
    					<a href="#"><img src="image/facebook.png"></img></a>
    					<a href="#"><img src="image/facebook.png"></img></a>
    					<a href="#"><img src="image/facebook.png"></img></a>
    					<a href="#"><img src="image/facebook.png"></img></a>
    					<a href="#"><img src="image/facebook.png"></img></a>
    				</div>
    				<div class="suiv"></div>
    				<div class="prec"></div>
    			</div>
    la partie css
    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
    #galerie
    {
    	position:relative;
    	background:#fff;
    	width:150px;
    	height:370px;
    	float:right;
    	margin:70px 10px 0 0;
    	border:2px solid #000;
    	overflow:hidden;
     
    }
     
    .slider
    {
    	height:5000px;
    	position:absolute;
    	margin-top:20px;
    }
     
    img
    {
    	height:80px;
    	width:120px;
    	margin:5px 10px;
    }
     
    .suiv
    {
    	position:absolute;
    	height:17px;
    	width:150px;
    	bottom:0;
    	background:url(template/flechebas.png) no-repeat;
    }
     
    .suiv:hover
    {
    	position:absolute;
    	height:17px;
    	width:150px;
    	bottom:0px;
    	background:url(template/flechebashover.png) no-repeat;
    }
     
    .prec
    {
    	position:absolute;
    	height:17px;
    	width:150px;
    	background:url(template/flechehaut.png) no-repeat;
    }
     
    .prec:hover
    {
    	position:absolute;
    	height:17px;
    	width:150px;
    	background:url(template/flechehauthover.png) no-repeat;
    }
    et enfin la partie javascript
    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
     
    $(document).ready(function()
    {
    	s= new slider("#galerie");
    });
    var slider = function(id)
    {
    	var self=this;
    	this.div=$(id);
    	this.slider=this.div.find(".slider");
    	this.largeurCache=this.div.height();
    	this.largeur=0;
    	this.div.find('a').each(function()
    		{
    			self.largeur+=$(this).height();
    			self.largeur+=parseInt($(this).css("padding-top"));
    			self.largeur+=parseInt($(this).css("padding-bottom"));
    			self.largeur+=parseInt($(this).css("margin-top"));
    			self.largeur+=parseInt($(this).css("margin-bottom"));		
    		});
     
    	this.prec=this.div.find(".prec");
    	this.suiv=this.div.find(".suiv")
    	this.saut=this.largeurCache/2;
    	this.nbEtapes=Math.ceil(this.largeur/this.saut);
    	this.courant=0;
     
     
    	this.suiv.mouseover(function()
    		{
    			if(self.courant<=self.nbEtapes)
    				{
     
    					self.courant++;
     
    					self.slider.animate(
    						{
    							top:-self.courant*self.saut
     
    						}
    						,1000);
    				}
    		});
     
    	this.prec.mouseover(function()
    		{
    			if(self.courant>0)
    				{
     
    					self.courant--;
     
    					self.slider.animate(
    						{
    							top:-self.courant*self.saut
     
    						}
    						,1000);
    				}
    		});
    }
    mon seul probleme c'est avec IE7.
    J'ai essayer avec des outils comme IETester,DebugBar.
    Mais aucun ne me dit ceux qui ne va pas.

    Un petit coup de pouce,please.

  2. #2
    Rédacteur

    Avatar de danielhagnoul
    Homme Profil pro
    Étudiant perpétuel
    Inscrit en
    Février 2009
    Messages
    6 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant perpétuel
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par défaut
    Bonsoir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    this.nbEtapes = Math.ceil(this.largeur/this.saut);
     
    alert("this.saut = " + this.saut + "\nthis.nbEtapes = " + this.nbEtapes);
    Le problème est que this.nbEtapes = NaN avec IE8.

    [EDIT] Le problème vient d'ici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                this.div.find('a').each(function(i, item){    
                    if (i == 0) alert($(item).css("marginTop"));
     
                    self.largeur += $(item).height();
                    self.largeur += parseInt($(item).css("paddingTop"));
                    self.largeur += parseInt($(item).css("paddingBottom"));
                    self.largeur += parseInt($(item).css("marginTop"));
                    self.largeur += parseInt($(item).css("marginBottom"));        
                });
    Comme les marges (marginTop et marginBottom) ne sont pas définies dans le code, IE8 retourne la valeur "auto" ce qui provoque self.largeur = NaN.

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues à un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut
    merci,c'est operationel maintenant.
    c'etait une erreur toute bête

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 3
    Par défaut
    il me reste un petit problème.
    Dans IE le défilement des images ne s'arrete pas.
    alors,que dans Firefox,il s'arréte trop tôt.

Discussions similaires

  1. [HTML 5] Vérification d'un champ avec 8 chiffres Incompatible avec un HTA et IE7
    Par hackoofr dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 18/04/2013, 15h33
  2. [TFileStream] : LoadFromStream et read : incompatible ?
    Par jmdeffet dans le forum Langage
    Réponses: 4
    Dernier message: 18/11/2004, 10h30
  3. [eclipse3.0][EclipseUML Omondo 3RC3 studio]incompatibles ???
    Par crapboulba dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 13/07/2004, 10h47
  4. [LG]Problême "types incompatibles"
    Par pierrOPSG dans le forum Langage
    Réponses: 7
    Dernier message: 23/04/2004, 21h34
  5. [Socket]Incompatible type ?
    Par Edouard Kaiser dans le forum Réseau
    Réponses: 30
    Dernier message: 21/02/2004, 20h58

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