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 :

plugin Cycle, il ne fonctionne pas correctement sous IE


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Par défaut plugin Cycle, il ne fonctionne pas correctement sous IE
    Bonjour tout le monde, je vous écris car je suis à bout. Après de longue recherche je suis perdu et je viens ici consulter vos esprits ingénieux en quête de réponse.

    http://jquery.malsup.com/cycle/

    Mon problème, comme le titre l'indique concerne le module jquery Cycle qui permet de gérer un diaporama assez facilement. Mon diaporama fonctionne bien sur Chrome, Firefox, Safari. Le problème se pose pour Internet Explorer.

    Dans Internet explorer (IE) 2 cas se présente :

    -Si j'arrive sur ma page le diaporama s'affiche bien.
    -Si je réactualise la page les images sont toutes petites.

    Cela le fait sur les version IE7, 8 , 9.

    Pour créer un diaporama le code dans la page html est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <div class="publiciteSlide" align="center">
    	<img src="image1.jpg" alt="Accueil" title="Publicité Accueil">
    	<img src="image2.jpg" alt="Publicité test" title="Publicité test">
    </div>
    Dans le Js on met :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $('.publiciteSlide').cycle({
    	fx:'fade'
    });
    Normalement, après cela marche partout. Pourtant lorsque je réactualise ma page sur IE beug.....

    En regardant dans jquery.cycle.all.js, les lignes suivantes m'interpellent (ceux sont ces lignes qui fixeront le height et le width a mon div ou est contenu le diaporama. Oui je ne peux mettre un height en durs car les images sont appelées de manière dynamique) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    var reshape = opts.containerResize && !$cont.innerHeight();
    	if (reshape) { // do this only if container has no size http://tinyurl.com/da2oa9
    		var maxw = 0, maxh = 0;
    		for(var j=0; j < els.length; j++) {
    			var $e = $(els[j]), e = $e[0], w = $e.outerWidth(), h = $e.outerHeight();
    			if (!w) w = e.offsetWidth || e.width || $e.attr('width');
    			if (!h) h = e.offsetHeight || e.height || $e.attr('height');
    			maxw = w > maxw ? w : maxw;
    			maxh = h > maxh ? h : maxh;
    		}
     
    		if (maxw > 0 && maxh > 0)
    			$cont.css({width:maxw+'px',height:maxh+'px'});
    	}
    Els= mon slider avec mes photos.
    $cont = le div contenant mon slider.

    Selon que je réactualise ma page ou que je vais directement dessus le outerWidth() me retourne 2 résultats complètement différent. J'ai lu sur internet que cette méthode rencontrait des problème avec IE.

    Donc ma question est, par quoi pourrais je remplacer tout cela?
    Quelqu'un aurait il une idée d'ou vient mon problème?
    Des gens ont déja résolu ce problème?

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 10
    Par défaut
    Bon beh j'ai résolu mon problème.

    J'ai remplacé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    // DIAPORAMA publiclité  ---------------------------------------------------
    $('.publiciteSlide').cycle({
    	fx:'fade',
     
    });

    par :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    // DIAPORAMA publiclité  ---------------------------------------------------
    $('.publiciteSlide').cycle({
    	fx:'fade',
    	before:function onAfter(curr, next, opts, fwd){
    	        //get the height of the current slide
    		var $ht = $(this).height();
    		var $wt = $(this).width();
     
    		//set the container's height to that of the current slide
    		$(this).parent().css("height", $ht);
    		$(this).parent().css("width", $wt);
    	}
    });

    Ainsi le height et le width sont bien attribués de manière dynamique. 2 jours de boulots pour trouver cela mais je suis bien content ^^.

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

Discussions similaires

  1. [PowerShell] Start-Transcript ne fonctionne pas correctement sous Windows 8.1
    Par Tchupacabra dans le forum Scripts/Batch
    Réponses: 9
    Dernier message: 09/06/2015, 10h26
  2. [MooTools] Plugin mootools ne fonctionne pas correctement
    Par beegees dans le forum Bibliothèques & Frameworks
    Réponses: 0
    Dernier message: 06/04/2010, 12h22
  3. Le débogage ne fonctionne pas correctement
    Par BNS dans le forum Visual C++
    Réponses: 4
    Dernier message: 13/07/2006, 13h59
  4. Réponses: 13
    Dernier message: 31/08/2005, 14h03

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