Cohabitation de deux scripts

Signaler
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008
-
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008
-
Salut à tous je suis nouveau dans le JS et j'ai déja un petit problème
pour faire cohabiter deux scripts sur ma page. J'ai déja remarqué qu'il
y avait déja un sujet sur le problème mais je me suis vite égaré......Donc voila j'utilise un script de menu dynamique de base:


<script type= "text/javascript" src="ejs_menu_multicolor.js">

</script> 

(Il est placé en haut de ma page)


et j'ai ajouté le super script du manège 3D de Adelami: qui se trouve entre les balise <head></head>


<style>

<!--

.imag{position:absolute;cursor:hand;}

//-->

</style>

<script language =javascript>

<!--

var angle=0,ll,hh,bcl,vit=0.05;

//taille des vignettes

var taille=40

//largeur de tout le manège

var largeur=250

//hauteur de tout le manège

var hauteur=100

//images du manège

var pict=["google.png",

    "ejs.gif",

    "google.png",

    "barre.jpg",

    "barre.jpg",

    "google.png",

    "barre.jpg",

    "barre.jpg",

    "barre.jpg",

    "barre.jpg",

    "barre.jpg",

    "barre.jpg"]

//lien des vignettes dans l'ordre des images ci dessus

var lien=["http://google.fr",

    "http://editeurjavascriptfr.com",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr",

    "http://google.fr"]


function window_onload(){

for(i=1;i<13;i++){

document.body.innerHTML+=""

}

return move()

}

function move(){

ll=document.body.clientWidth/2

hh=document.body.clientHeight/2

angle=angle-vit

for(i=1;i<13;i++){

document.getElementById("i"+i).style.left=ll+largeur*(Math.cos(angle+i*Math.PI/6))

document.getElementById("i"+i).style.top=hh+hauteur*(Math.sin(angle+i*Math.PI/6))+document.getElementById("i"+i).width/2

agl=angle+i*Math.PI/6

document.getElementById("i"+i).width=20*(Math.sin(agl))+taille

document.getElementById("i"+i).style.zIndex=50*(Math.sin(agl))+100

document.getElementById("i"+i).style.opacity=(Math.sin(agl)+1)*0.50

document.getElementById("i"+i).style.filter="alpha(opacity="+(Math.sin(agl)+1)*50+")"

}

setTimeout("move()",1)}

//-->

</script></head>


Sur le coup le manège 3 D Marche impécable y a pas de souci par
contre mon menu n'affiche plus les sous menus quand le curseur passe
sur une rubrique ( mon menu est un menu dynamique horizontale)...


Est-il possible de les faire cohabiter vu qu'ils utilisent tout les deux : ? Si le probléme vient d'ailleurs et qu'il y a une solution merci de me tenir au courant ...

12 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
Bonjour,


pas sûr d'avoir compris...

    tu as 2 function window_onload() ?

    _ renommes en une

    _ mets les lignes de l'une dans l'autre et suuprime la
    _ ...

<hr />


Cordialement            Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008

Salut Bultez, en fait la function  onload="window_onload()  n'apparait qu'une seul fois sur ma page... dans la balise , j'ai essayé d'en mettre deux dans  cette même balise mais il me semble que c'est inutile et puis aprés test ça n'a pas marché...Le manége 3 D fonctionne mais quand je veux selectionner un sous menu (se trouvant dans mon menu situé juste au dessus du manége 3 D) mon curseur clignote et le sablier apparait et fait mine de chercher et pas d'apparition de sous menu!!

Donc voila y a juste une fonction window_onload() dans la balise , cette fonction étant neccessaire pour les deux scripts ....
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ma question était la function window_onload existe dans les 2 scripts ?

pas son appel.
<hr />                Cordialement        Bul     [mon Site]     [M'écrire]<hr />
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008

oui la fonction existe dans les deux scripts !!
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
comment veux-tu alors que le navigateur sache vers laquelle
    aller lorsque tu en appelles une ?
relis ma réponse.
<hr />                Cordialement                    Bul         [mon Site]         [M'écrire]<hr />
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008

Ah ok !!... Bon ben si j'ai bien exécuté comme dans la réponse, j'ai maintenant mon menu qui marche et le manége 3 D qui n'apparait même plus... J'ai gardé qu'une function onload="window_onload() dans la balise body et j'ai transféré mon script du manége vers celui du menu, résultat plus de manége, il me semble que c'est un peu bizard comme manipulation ?..Merci de bien vouloir me reéxpliquer la manipe à faire si j'ai fais une boulette, il me semble avoir mal interpréter la réponse !
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
pour faire simple dans un 1er temps,
renommes les window_onload
    dans le menu :     function window_onload_menu()
    dans le manège : function window_onload_manege()
modifier l'appel
window_onload_menu();
window_onload_manege()">
sucrer les autres appels.

il restera peut-être (?) des incompatibilités entre les scripts






|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
| Avec | et mieux : <label style="color: rgb(0, 128, 0);">Télécharger</label> |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
|<label style="color: rgb(128, 0, 0);">FireFox</label> |regarder la "console d'erreurs" | FireBug |
| | Outils / Console d'erreurs | |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|
|<label style="color: rgb(128, 0, 0);">Internet Explorer</label>|activer le deboggage : utils/options Ile Debogger IE|
| | dans la liste, sous "Navigation" : décocher | |
| | ° Afficher une notification de chaque erreur de script | |
| | ° Désactiver le débogage de Scripts (autres applications)| |
| | ° Désactiver le débogage de Scripts (Internet Explorer) | |
|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷÷|÷÷÷÷÷÷÷÷÷÷÷÷÷÷|












<hr />                    Cordialement                Bul         [mon Site]     [M'écrire]<hr />
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008

Ok j'ai remplacé la function pour le manége  mais j'ai laissé celle de  default  pour le menu ce qui donne :

, le menu marche mais plus le manége..De plus j'ai fais un débuggage avec le debogger de IE et il me met en jaune "window_onload()"...Voici le code de mon menu qui se trouve sur une une page  indépandante .JS, pourrais tu m'indiquer ou je dois faire ma modife function window_onload_menu()
le débboger en ma trouver qu'une erreur sinon.
de + j'ai modifier function window_onload(){ du manége parfunction window_onload_manege(){

code menu:

bgcolor='#009900';
bgcolor0='669933'; //ff0000';
bgcolor1='669933'; //ff0000';
bgcolor2='669933'; //ff0000';
bgcolor3='669933'; //ff0000';
bgcolor4='669933'; //ff0000';
bgcolor5='669933'; //ff0000';
bgcolor6='669933'; //ff0000';
bgcolor7='669933'; //ff0000';
bgcolor8='669933'; //ff0000';
bgcolor9='ff9933'; //ff0000';

zgcolor = new Array;
zgcolor[0] = 'cc9900'; //ff0000';
zgcolor[1] = 'cc9900'; //ff0000';
zgcolor[2] = 'cc9900'; //ff0000';
zgcolor[3] = 'cc9900'; //ff0000';
zgcolor[4] = 'cc9900'; //ff0000';
zgcolor[5] = 'cc9900'; //ff0000';
zgcolor[6] = 'cc9900'; //ff0000';
zgcolor[7] = 'cc9900'; //ff0000';
zgcolor[8] = 'cc9900'; //ff0000';
zgcolor[9] = 'cc9900'; //ff0000';

document.write('<style type="text/css">');
document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:3; }')
document.write('#topgauche { position:absolute; z-index:10; }')
document.write('A:hover.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('A.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('</style>')
document.write('

');

zlien = new Array;
zlien[0] = new Array;
zlien[1] = new Array;
zlien[2] = new Array;
zlien[3] = new Array;
zlien[4] = new Array;
zlien[5] = new Array;
zlien[6] = new Array;
zlien[0][0] = '[index.htm Sommaire]';
zlien[1][0] = '[www.thenower.com/ Hind]';
zlien[1][1] = '[www.thenower.com/ Julien]';
zlien[1][2] = '[www.thenower.com/ Loïc]';
zlien[1][3] = '[www.thenower.com/ Thomas]';

zlien[2][0] = '[www.geocities.com/simulationdehockey16/ Musiques]';
zlien[2][1] = '[www.geocities.com/simulationdehockey16/ Vidéos]';

zlien[3][0] = '[www.geocities.com/simulationdehockey16/ Répètes]';
zlien[3][1] = '[www.geocities.com/simulationdehockey16/ Concerts]';
zlien[4][0] = '[www.geocities.com/simulationdehockey16/ Livre]';

zlien[5][0] = '[liens.htm Partenaires]';
zlien[6][0] = '[liens.htm Contactez-nous]';
var nava = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
if (nava) { skn = document.topdeck }
else if (dom) { skn = document.getElementById("topdeck").style }
else if (iex) { skn = topdeck.style }
skn.top = 24;

function pop(msg,pos)
{
    skn.visibility = "hidden";
    a=true
    skn.left = pos;
    var content ="<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>";
    pass = 0
    while (pass < msg.length)
        {
            content += "----,   \"+msg[pass]+\"</TD>\";
            pass++;
        }
    content += "
</TD></TR></TABLE>";
    if (nava)
        {
            skn.document.write(content);
            skn.document.close();
            skn.visibility = "visible";
        }
    else if (dom)
            {
                document.getElementById("topdeck").innerHTML = content;
                skn.visibility = "visible";
            }
        else if (iex)
            {
                document.all("topdeck").innerHTML = content;
                skn.visibility = "visible";
            }
}

function kill()
{
    skn.visibility = "hidden";
}

document.onclick = kill;
document.write('
<TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25>----
')
document.write(', ACCUEIL</TD>')
document.write('LE GROUPE, ')
document.write('MULTIMEDIAS, ')
document.write('PHOTOS, ')
document.write('GUESTBOOK, ')
document.write('LIENS, ')
document.write('CONTACTS PROS, ')
document.write('
</TD></TR></TABLE>

')
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
>>il me met en jaune "window_onload()"...

    où ?  dans "manege" je suppose ?
    quelle erreur ?  il ne trouve pas la fonction ?
    dans "manege" il y a bien function window_unload() ?
    et si tu appelles cette fonction dans le body, ne l'appelles pas dans le script
       ou le contraire... comme tu veux.

>>Voici le
code de mon menu
>>je dois faire ma modife

function window_onload_menu()

    à quoi ça sert ? il fonctionne.
    ( comme nous mettre le script du menu ? comme il fonctionne ... )


  




<hr />



Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
32
ah... je viens de voir : tu as des document.write !
    lorsque la page a été totalement interprétée, ça efface complètement
        cette page, y compris le javascript !
    il faut donc faire ça dans le body. pas dans le onload du body.
<hr />


Cordialement                Bul     [mon Site]     [M'écrire]



<hr />
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008

Oui j'ai un document.write, désolé de ne pas l'avoir spécifié plus tot !! es-ce que tu as une adresse msn, je t'envois la mienne par message perso parce que la on ne va pas s'en sortir ..
Messages postés
9
Date d'inscription
lundi 26 juin 2006
Statut
Membre
Dernière intervention
19 avril 2008

Bon essayons de reprendre depuis le début :
j'ai deux dossier un appelé liens.htm (contenant les deux scripts) et un document.writ nommé ejs_menu_multicolor.js (menu)
Dans mon premier document (liens.htm) il y a le code suivant:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Site officiel de Sarracénia : les liens</title>
<meta name="description" content="retrouvez les amis de Sarracénia ainsi que des nombreux liens interressants.">
<meta name="keywords" content="sarracénia, groupe, musique, stéphanois, folk, violon, piano, compositions, compositeurs, interprètes, concerts, artistes">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

<style type="text/css">

 <!--
A.type1:link {color:#ffff00; text-decoration:none;}
A.type1:visited {color:#ffff00; text-decoration:none;}
A.type1:active {color:#ffff33; text-decoration:none;}
A.type1:hover {color:#ffffcc; text-decoration:underline;}

A.type2:link {color:#ff0000; text-decoration:none;}
A.type2:visited {color:#ff0000; text-decoration:none;}
A.type2:active {color:#00CC33; text-decoration:none;}
A.type2:hover {color:#ffffff; text-decoration:underline;}

//-->
</style>
<link href="image/styles.css" rel="stylesheet" type="text/css">
</head>

  <!--DWLayoutTable-->
  ----

    <table width="100%" border="0" cellpadding="1">
        ----

         , </td>
       
        ----

          <script type="text/javascript" src="ejs_menu_multicolor.js">
</script>,
       
     
</td>
    <td width="6">&nbsp;</td>
  </tr>
  <tr>
    <td height="496" colspan="4" valign="top">        <!--DWLayoutTable-->
        ----

          &nbsp;,
          Pour apparaitre
              dans notre rubriques &quot;liens&quot; envoyez nous un message.,
          &nbsp;,
       
        ----

          &nbsp;,
          &nbsp;

            <style>
<!--
.imag{position:absolute;cursor:hand;}
//-->
</style>
<script language=javascript>
<!--
var angle=0,ll,hh,bcl,vit=0.05;
//taille des vignettes
var taille=40
//largeur de tout le manège
var largeur=250
//hauteur de tout le manège
var hauteur=100
//images du manège
var pict=["image/s.jpg",
    "image/gf.jpg",
    "image/logo.jpg",
    "image/gribs.jpg",
    "image/s.jpg",
    "image/s.jpg",
    "image/s.jpg",
    "image/s.jpg",
    "image/s.jpg",
    "image/s.jpg",
    "image/s.jpg",
    "image/s.jpg"]
//lien des vignettes dans l'ordre des images ci dessus
var lien=["http://google.fr",
    "http://myspace.com/girafeforever",
    "http://www.thenower.com",
    "http://profile.myspace.com/index.cfm?fuseaction=user.viewprofile&friendID=179118398",
    "http://google.fr",
    "http://google.fr",
    "http://google.fr",
    "http://google.fr",
    "http://google.fr",
    "http://google.fr",
    "http://google.fr",
    "http://google.fr"]

function window_onload_manege(){
for(i=1;i<13;i++){
document.body.innerHTML+=""
}
return move()
}
function move(){
ll=document.body.clientWidth/2
hh=document.body.clientHeight/2
angle=angle-vit
for(i=1;i<13;i++){
document.getElementById("i"+i).style.left=ll+largeur*(Math.cos(angle+i*Math.PI/6))
document.getElementById("i"+i).style.top=hh+hauteur*(Math.sin(angle+i*Math.PI/6))+document.getElementById("i"+i).width/2
agl=angle+i*Math.PI/6
document.getElementById("i"+i).width=20*(Math.sin(agl))+taille
document.getElementById("i"+i).style.zIndex=50*(Math.sin(agl))+100
document.getElementById("i"+i).style.opacity=(Math.sin(agl)+1)*0.50
document.getElementById("i"+i).style.filter="alpha(opacity="+(Math.sin(agl)+1)*50+")"
}
setTimeout("move()",1)}
//-->
</script>,
          <!--DWLayoutEmptyCell-->&nbsp;,
       
        ----

          ,
          ,
          ,
       
           
</td>
  </tr>
  <tr>
    <td height="15" colspan="4" valign="top">        <!--DWLayoutTable-->
        ----

          ,
       
   
</td>
  </tr>
  <tr>
    <td width="16" height="79">&nbsp;</td>
    <td width="669" valign="top" class="text">

        &nbsp;

        &nbsp;

     
</td>
    <td width="14">&nbsp;</td>
    <td></td>
  </tr>
  <tr>
    <td height="15" colspan="4" valign="top">        <!--DWLayoutTable-->
        ----

          ,
       
   
</td>
  </tr>
  <tr>
    <td height="53">&nbsp;</td>
    <td align="left" valign="middle"><center>
      </center></td>
    <td></td>
    <td></td>
  </tr>
  <tr>
    <td height="32" colspan="4" valign="top">        <!--DWLayoutTable-->
     
     
</td>
  </tr>
</table>

</html>

dans mon deuxiéme document il y a le code suivant:

bgcolor='#009900';
bgcolor0='669933'; //ff0000';
bgcolor1='669933'; //ff0000';
bgcolor2='669933'; //ff0000';
bgcolor3='669933'; //ff0000';
bgcolor4='669933'; //ff0000';
bgcolor5='669933'; //ff0000';
bgcolor6='669933'; //ff0000';
bgcolor7='669933'; //ff0000';
bgcolor8='669933'; //ff0000';
bgcolor9='ff9933'; //ff0000';

zgcolor = new Array;
zgcolor[0] = 'cc9900'; //ff0000';
zgcolor[1] = 'cc9900'; //ff0000';
zgcolor[2] = 'cc9900'; //ff0000';
zgcolor[3] = 'cc9900'; //ff0000';
zgcolor[4] = 'cc9900'; //ff0000';
zgcolor[5] = 'cc9900'; //ff0000';
zgcolor[6] = 'cc9900'; //ff0000';
zgcolor[7] = 'cc9900'; //ff0000';
zgcolor[8] = 'cc9900'; //ff0000';
zgcolor[9] = 'cc9900'; //ff0000';

document.write('<style type="text/css">');
document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:3; }')
document.write('#topgauche { position:absolute; z-index:10; }')
document.write('A:hover.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('A.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('</style>')
document.write('

');

zlien = new Array;
zlien[0] = new Array;
zlien[1] = new Array;
zlien[2] = new Array;
zlien[3] = new Array;
zlien[4] = new Array;
zlien[5] = new Array;
zlien[6] = new Array;
zlien[0][0] = '[index.htm Sommaire]';
zlien[1][0] = '[www.thenower.com/ Hind]';
zlien[1][1] = '[www.thenower.com/ Julien]';
zlien[1][2] = '[www.thenower.com/ Loïc]';
zlien[1][3] = '[www.thenower.com/ Thomas]';

zlien[2][0] = '[www.geocities.com/simulationdehockey16/ Musiques]';
zlien[2][1] = '[www.geocities.com/simulationdehockey16/ Vidéos]';

zlien[3][0] = '[www.geocities.com/simulationdehockey16/ Répètes]';
zlien[3][1] = '[www.geocities.com/simulationdehockey16/ Concerts]';
zlien[4][0] = '[www.geocities.com/simulationdehockey16/ Livre]';

zlien[5][0] = '[liens.htm Partenaires]';
zlien[6][0] = '[liens.htm Contactez-nous]';
var nava = (document.layers);
var dom = (document.getElementById);
var iex = (document.all);
if (nava) { skn = document.topdeck }
else if (dom) { skn = document.getElementById("topdeck").style }
else if (iex) { skn = topdeck.style }
skn.top = 24;

function pop(msg,pos)
{
    skn.visibility = "hidden";
    a=true
    skn.left = pos;
    var content ="<TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>";
    pass = 0
    while (pass < msg.length)
        {
            content += "----,   \"+msg[pass]+\"</TD>\";
            pass++;
        }
    content += "
</TD></TR></TABLE>";
    if (nava)
        {
            skn.document.write(content);
            skn.document.close();
            skn.visibility = "visible";
        }
    else if (dom)
            {
                document.getElementById("topdeck").innerHTML = content;
                skn.visibility = "visible";
            }
        else if (iex)
            {
                document.all("topdeck").innerHTML = content;
                skn.visibility = "visible";
            }
}

function kill()
{
    skn.visibility = "hidden";
}

document.onclick = kill;
document.write('
<TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25>----
')
document.write(', ACCUEIL</TD>')
document.write('LE GROUPE, ')
document.write('MULTIMEDIAS, ')
document.write('PHOTOS, ')
document.write('GUESTBOOK, ')
document.write('LIENS, ')
document.write('CONTACTS PROS, ')
document.write('
</TD></TR></TABLE>

')

Donc voila où nous en sommes avec les deux scripts: menu marche et pas le manège. Quels parametres dois je changer, dans quels documents, a quels balises? Si tu arrives a faire une simulation de chez toi avec les deux scripts et que sa marche, j'attend un ereponse avec impatience !!