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

JavaScript Discussion :

Conflits 2 scripts defilement


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 36
    Par défaut Conflits 2 scripts defilement
    Bonsoir à tous,

    Je suis en train de développer un site pour un ami. Dans le header je dois utiliser 2 scripts de défilement. Un pour des images, l'autre pour du texte.

    L'un et l'autre fonctionne séparément, mais dans la même page c'est la cata ! Il y a un conflit surement dans les variables mais je n'arrive pas à trouver ce dernier

    Voici les codes :

    Script pour le défilement d'images

    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
     
    /***********************************************
    * Conveyor belt slideshow script- © Dynamic Drive DHTML code library (www.dynamicdrive.com)
    * This notice MUST stay intact for legal use
    * Visit Dynamic Drive at http://www.dynamicdrive.com/ for full source code
    ***********************************************/
     
    //Specify pixels gap between each slideshow rotation (use integer):
    var slideshowgap=5
    var slideshowgaptemp=slidesspace
     
    ////NO NEED TO EDIT BELOW THIS LINE////////////
     
    if (stopslide==1)
    	stopslidesleed=0
    else
    	stopslidesleed=slidespeed
     
    var copyspeed=slidespeed
    leftrightslide='<nobr>'+leftrightslide.join(imagegap)+'</nobr>'
    var iedom=document.all||document.getElementById
    if (iedom)
    document.write('<span id="temp" style="visibility:hidden;position:absolute;top:-100px;left:-9000px">'+leftrightslide+'</span>')
    var actualwidth=''
    var cross_slide, ns_slide
     
    function fillup(){
    if (iedom){
    cross_slide=document.getElementById? document.getElementById("test2") : document.all.test2
    cross_slide2=document.getElementById? document.getElementById("test3") : document.all.test3
    cross_slide.innerHTML=cross_slide2.innerHTML=leftrightslide
    actualwidth=document.all? cross_slide.offsetWidth : document.getElementById("temp").offsetWidth
    cross_slide2.style.left=actualwidth+slideshowgaptemp+"px"
    }
    else if (document.layers){
    ns_slide=document.ns_slidemenu.document.ns_slidemenu2
    ns_slide2=document.ns_slidemenu.document.ns_slidemenu3
    ns_slide.document.write(leftrightslide)
    ns_slide.document.close()
    actualwidth=ns_slide.document.width
    ns_slide2.left=actualwidth+slideshowgap
    ns_slide2.document.write(leftrightslide)
    ns_slide2.document.close()
    }
    lefttime=setInterval("slideleft()",30)
    }
    window.onload=fillup
     
    function slideleft(){
    if (iedom){
    if (parseInt(cross_slide.style.left)>(actualwidth*(-1)+8))
    cross_slide.style.left=parseInt(cross_slide.style.left)-copyspeed+"px"
    else
    cross_slide.style.left=parseInt(cross_slide2.style.left)+actualwidth+slideshowgap+"px"
     
    if (parseInt(cross_slide2.style.left)>(actualwidth*(-1)+8))
    cross_slide2.style.left=parseInt(cross_slide2.style.left)-copyspeed+"px"
    else
    cross_slide2.style.left=parseInt(cross_slide.style.left)+actualwidth+slideshowgap+"px"
     
    }
    else if (document.layers){
    if (ns_slide.left>(actualwidth*(-1)+8))
    ns_slide.left-=copyspeed
    else
    ns_slide.left=ns_slide2.left+actualwidth+slideshowgap
     
    if (ns_slide2.left>(actualwidth*(-1)+8))
    ns_slide2.left-=copyspeed
    else
    ns_slide2.left=ns_slide.left+actualwidth+slideshowgap
    }
    }
     
     
    if (iedom||document.layers){
    with (document){
    document.write('<table border="0" cellspacing="0" cellpadding="0"><td>')
    if (iedom){
    write('<div style="position:relative;width:'+sliderwidth+';height:'+sliderheight+';overflow:hidden">')
    write('<div style="position:absolute;width:'+sliderwidth+';height:'+sliderheight+';background-color:'+slidebgcolor+'" onMouseover="copyspeed=stopslidesleed" onMouseout="copyspeed=slidespeed">')
    write('<div id="test2" style="position:absolute;left:0px;top:0px"></div>')
    write('<div id="test3" style="position:absolute;left:-1000px;top:0px"></div>')
    write('</div></div>')
    }
    else if (document.layers){
    write('<ilayer width='+sliderwidth+' height='+sliderheight+' name="ns_slidemenu" bgColor='+slidebgcolor+'>')
    write('<layer name="ns_slidemenu2" left=0 top=0 onMouseover="copyspeed=stopslidesleed" onMouseout="copyspeed=slidespeed"></layer>')
    write('<layer name="ns_slidemenu3" left=0 top=0 onMouseover="copyspeed=stopslidesleed" onMouseout="copyspeed=slidespeed"></layer>')
    write('</ilayer>')
    }
    document.write('</td></table>')
    }
    }

    Script pour le défilement de texte :

    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    function DF_Objet_defilant(id_defilant) {
     
    	if(typeof this.DF_defile != 'object') DF_Set_param ();
     
    	if(this.DF_defile && this.DF_largeur > 0)
     
    	{
    		this.DF_aller_retour == 1 ? DF_aller_retour (): DF_Boucle ();
     
    		this.DF_timer = setTimeout("DF_Objet_defilant()",this.delaicrnt);
    	}
     
     
     
    function DF_Set_param () {
     
    	this.DF_conteneur_largeur = 900; // en pixels : dimension du conteneur de l'objet défilant
     
    	this.DF_largeur = 2221;// en pixels : dimension de l'objet défilant
     
    	this.DF_vitesse = 15; // entre environ 7 et 50; les petits nombres sont plus rapides
     
    	this.DF_psinit = 630; // en pixels : position initiale de départ
     
    	this.DF_sens_ini = 1;// 1 pour sens de défilement gauche-doite, -1 pour sens de défilement droite-gauche
     
    	this.DF_aller_retour = -1; // 1 pour aller retour, -1 pour boucle "continue"
     
    	this.DF_pause = 0; // en millisecondes : temps d'attente avant démarrage et éventuellement avant retour
     
     
     
    	this.DF_defile = typeof document.getElementById(id_defilant) == 'object' ? document.getElementById(id_defilant) : null;
     
    	this.DF_psinit = this.DF_conteneur_largeur > this.DF_largeur &&  this.DF_psinit == 0 ? this.DF_conteneur_largeur - this.DF_largeur : this.DF_psinit;
     
    	this.DF_pscrnt = this.DF_psinit;
     
    	this.DF_sens = 1;
     
    	this.DF_p_retour = this.DF_largeur >= this.DF_conteneur_largeur ? this.DF_largeur - this.DF_conteneur_largeur : 0;
     
    	if (this.DF_aller_retour == 1 && this.DF_largeur == this.DF_conteneur_largeur && this.DF_psinit == 0) this.DF_largeur = 0;
     
    	this.DF_pause = typeof this.DF_pause == 'number' && this.DF_pause > 0 ? this.DF_pause : this.DF_vitesse;
     
    }
     
     
     
    function DF_Boucle () {
     
    	this.delaicrnt = typeof this.DF_timer == 'number' ?  this.DF_vitesse : this.DF_pause;
     
          if(this.DF_pscrnt < ( - this.DF_largeur))
    	  	{
             this.DF_pscrnt = this.DF_psinit;
            } 
    		else 
    		{
             this.DF_pscrnt += -1;
          	}
     
    	this.DF_sens_ini == 1 ? this.DF_defile.style.left = this.DF_pscrnt+"px" : this.DF_defile.style.right = this.DF_pscrnt+"px" ;
    }
     
     
     
    function DF_aller_retour () {
     
    	this.delaicrnt = this.DF_vitesse;
     
    	if(this.DF_pscrnt == - this.DF_p_retour || this.DF_pscrnt == this.DF_psinit)
    	{
    	this.DF_sens *= -1;
    	this.delaicrnt = this.DF_pause;
    	}		
     
    	this.DF_sens_ini == 1 ? this.DF_defile.style.left = this.DF_pscrnt+"px" : this.DF_defile.style.right = this.DF_pscrnt+"px" ;
     
    	this.DF_pscrnt += this.DF_sens; 
    }
     
    }
     
     
     
    function DF_NavigMous(etat) {
     
    	if(this.DF_defile && this.DF_timer) 
    		{
    		clearTimeout(this.DF_timer);
    		if (etat == 'out') DF_Objet_defilant();
    		}
    }
    La seule similitude que je vois c'est : document.getElementById mais je suis pas sur que cela soit ça et même, je ne saurai fixer ce problème étant plutôt débutant en javascript.

    Merci d'avance à vous pour votre aide !


    Amicalement,
    Ilan

  2. #2
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 660
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 660
    Par défaut
    bonjour,

    je parie que c'est à cause des document.write() qui se promènent dans le 1er script
    Et visiblement, il n'est pas tout récent

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 36
    Par défaut
    Bonsoir,

    Merci pour votre réponse rapide !

    J'aimerai savoir s'il serait possible de développer ce que vous voulez dire car comme je l'ai dis plus haut, je suis tout jeunot dans la programmation en java script et je pense que je ne serais pas capable de bien interprété votre réponse pour ensuite corriger le conflit.

    Quelles modifications dois-je apporter à mes scripts pour que cela fonctionne ?

    Merci encore

    Bonne soirée.


    Ilan

  4. #4
    Membre Expert
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 486
    Billets dans le blog
    1
    Par défaut
    Une solution que j'ai déjà utilisée pour éviter tout conflit entre plusieurs scripts js (au cas où le même nom de variable est utilisée dans les 2) : les placer dans des iframes.

Discussions similaires

  1. Conflits entre script JQuery
    Par joker92 dans le forum jQuery
    Réponses: 7
    Dernier message: 29/11/2009, 20h20
  2. Conflit de script ?
    Par mexicanino dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 18/05/2009, 11h59
  3. script defilment d'images
    Par madmax57 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/08/2008, 13h33
  4. [AJAX] Conflit entre script Ajax et scripts Javascript
    Par Mingain dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 27/10/2007, 13h18

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