DTiGDB
Messages postés5Date d'inscriptionlundi 1 octobre 2007StatutMembreDernière intervention17 octobre 2007
-
1 oct. 2007 à 15:03
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
17 oct. 2007 à 20:17
Bonjour à toutes et à tous !
Je suis débutant dans le monde de la programmation web.
J'ai essayé de faire un menu sympa en m'inspirant d'autres sources.
Le problème est que celui ci fonctionne impec sur IE7, Opera 9.23 et Maxthon 2.0 mais ne s'affiche pas sous FF2.0, Netscape 7.1 et Safari 3.0 quiq sont mes navigateurs tests.
Voici le script si vous pouvez me donner un coup de main.... Merci
<script type="text/javascript">
var pos;
var ra = 250; // Largeur du mouvement
var rb = -150; // Hauteur du mouvement
var pi = Math.PI;
var inc = pi / (-300); // Vitesse de rotation
var isNS (navigator.appName "Netscape" && parseInt(navigator.appVersion) >= 4);
var objets;
var lien1 = (isNS) ? document.lien1 : document.all.lien1.style;
$Chaine = '';
for ($CptLien=2;$CptLien<$NbLien+1;$CptLien++)
{
var lien'.$CptLien.' = (isNS) ? document.lien'.$CptLien.' : document.all.lien'.$CptLien.'.style;
$Chaine .= ', lien'.$CptLien;
}
objets = new Array(lien1'.$Chaine.');
pos = new Array();
pos[0] = 0;
for (var i 1; i < objets.length; i++) {pos[i] parseFloat(pos[i - 1] + ((2 * pi) / objets.length));}
function rotateObjets()
{
for (var i = 0; i < pos.length; i++)
{
pos[i] += inc;
objets[i].left = (ra * Math.cos(pos[i])) + 320; // Position du centre de rotation sur l'axe X
objets[i].top = (rb * Math.sin(pos[i])) + ((document.documentElement.clientHeight - 250) / 2); // Position du centre de rotation sur l'axe Y
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 oct. 2007 à 15:42
Bonjour,
à priori $variable, c'est du php ?
et comment on sait ce quelles contiennent ces variables ?
donne nous la page générée, pas le php.
( un extrait ! ce qu'il faut, pas plus , mais le nécesssaire ! )
en général, c'est du à la manière d'adresser les champs.
met des ID et gère avec document.getElementById("les id").
après :
o~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o
| 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 </label>|activer le deboggage : utils/options I le Debogger IE |
| <label style ="color: rgb(128, 0, 0);">Explorer</label>| 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) | |
|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|
|<label style="color: rgb(128, 0, 0);">K-Meleon</label> |regarder la "console d'erreurs" | |
| | Outils / Console d'erreurs | |
|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|
|<label style= "color: rgb(128, 0, 0);">Opera</label> |regarder la "console d'erreurs" | |
| | utils / A sole d'erreurs | |
|~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~|
|<label style ="color: rgb(128, 0, 0);">Safari</label> | | |
o~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o
pour safari j'aimerais d'ailleurs avoir, quelques infos pour debugger...
DTiGDB
Messages postés5Date d'inscriptionlundi 1 octobre 2007StatutMembreDernière intervention17 octobre 2007 1 oct. 2007 à 15:53
Oui pardon pour la syntaxe
J'ai lié le script à ma base via du PHP !
En fait, il s'agit d'un script qui permet de créer un menu flottant qui décrit une ellipse autour d'un axe.
Voici donc la page générée par le code :
[gamme.php?rubriq=2&gamme=8
Aspirateur
]
[gamme.php?rubriq=2&gamme=5
Congélateur
]
[gamme.php?rubriq=2&gamme=7
Cuisson
]
[gamme.php?rubriq=2&gamme=6
Encastrable
]
[gamme.php?rubriq=2&gamme=1
Lave linge
]
[gamme.php?rubriq=2&gamme=3
Lave vaisselle
]
[gamme.php?rubriq=2&gamme=10
Petit électro-ménager
]
[gamme.php?rubriq=2&gamme=4
Réfrigérateur
]
[gamme.php?rubriq=2&gamme=2
Sèche linge
]
[gamme.php?rubriq=2&gamme=9
Siège
]
<script type="text/javascript">
var pos;
var ra = 250;
var rb = -150;
var pi = Math.PI;
var inc = pi / (-300); var isNS (navigator.appName "Netscape" && parseInt(navigator.appVersion) >= 4);
var objets;
var lien1 = (isNS) ? document.lien1 : document.all.lien1.style;
var lien2 = (isNS) ? document.lien2 : document.all.lien2.style;
var lien3 = (isNS) ? document.lien3 : document.all.lien3.style;
var lien4 = (isNS) ? document.lien4 : document.all.lien4.style;
var lien5 = (isNS) ? document.lien5 : document.all.lien5.style;
var lien6 = (isNS) ? document.lien6 : document.all.lien6.style;
var lien7 = (isNS) ? document.lien7 : document.all.lien7.style;
var lien8 = (isNS) ? document.lien8 : document.all.lien8.style;
var lien9 = (isNS) ? document.lien9 : document.all.lien9.style;
var lien10 = (isNS) ? document.lien10 : document.all.lien10.style;
objets = new Array(lien1, lien2, lien3, lien4, lien5, lien6, lien7, lien8, lien9, lien10);
pos = new Array();
pos[0] = 0; for (var i 1; i < objets.length; i++) {pos[i] parseFloat(pos[i - 1] + ((2 * pi) / objets.length));}
function rotateObjets()
{
for (var i = 0; i < pos.length; i++)
{
pos[i] += inc;
objets[i].left = (ra * Math.cos(pos[i])) + 320;
objets[i].top = (rb * Math.sin(pos[i])) + ((document.documentElement.clientHeight - 250) / 2);
objets[i].visibility = "visible";
}
rotateTimer = window.setTimeout("rotateObjets()", 30);
}
rotateObjets();
</script>
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 1 oct. 2007 à 16:20
j'insiste. regarde la console d'erreurs, et mieux télécharge firebug.
( pour IE même remarque )
tu vois qu'il rale sur objets[i].left en disant "indéfini"
et si tu regardes (avec un alert) document.lien1 : c'est indéfini pour FF!
IE remplace le name par l'ID s'il n'existe pas. pas FF.
je disais...généralement... utiliser document.getElementById("lien1")
<hr /> Cordialement Bul [mon Site] [M'écrire]
<hr />
DTiGDB
Messages postés5Date d'inscriptionlundi 1 octobre 2007StatutMembreDernière intervention17 octobre 2007 1 oct. 2007 à 16:50
Ok merci beaucoup, je teste et je te tiens au courant !
Sinon pour Safari, il existe un outil pratique : le "debug menu". Safari dispose en standard d'une console façon firebug, mais elle se cache dans le menu débug qui n'est pas activé par défaut.
Pour activer ce menu tu peux suivre les étapes suivantes :
<li>Installer le safari enhancer : http://www.celestialfrontiers.com/safari_enhancer.php</li><li>Cocher la case d'activation du débugger Safari
</li><li>Relancer Safari
</li><li>Dans le menu debug, tu peux afficher la console javascript
</li><li>Pour entrer un message dans cette console, il faut faire console.log("toto")</li>Voilà, j'espère que j'ai pu t'aider à mon tour
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 2 oct. 2007 à 10:42
dommage pour le lien donné : ne sera pas maintenu,
et surtout uniquement sur MAC, si je ne m'abuse...
si quelqu'un à d'autres données ?
<hr /> Cordialement Bul [mon Site] [M'écrire]
<hr />
DTiGDB
Messages postés5Date d'inscriptionlundi 1 octobre 2007StatutMembreDernière intervention17 octobre 2007 3 oct. 2007 à 16:23
Bonjour à tous,
Navré Bultez pour cette mauvaise route ...
Navré aussi de revenir à la charge concernant mon problème mais dans le debuggeur, la seule erreur répertoriée est celle sur document.documentElement.clientHeight qui semble t il n'est pas une instruction reconnue par FF.
A ce propos, qu'elle est l'instruction compatible ?
Sinon, si je remplace ce redimensionnement par une valeur fixe, rien ne s'affiche à l'écran.
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 oct. 2007 à 10:01
salut XTremDuke,
oui, oui, j'ai déjà téléchargé safari, et il fonctionne plustôt bien d'ailleurs,
ma question était sur les possibilités de déboggage.
DTiDB
à priori, cette instruction doit passer, il y a autre chose.
si tu ne parviens à rien, met nous la page en cause ( enfi, un petit extait
et pas le php hein ! ), comme tu as du faire des modifs par rapport à la 1ère...
<hr /> Cordialement Bul [mon Site] [M'écrire]
<hr />
DTiGDB
Messages postés5Date d'inscriptionlundi 1 octobre 2007StatutMembreDernière intervention17 octobre 2007 17 oct. 2007 à 19:55
Salut tout le monde, me revoilà toujours avec le même problème.
J'avais mis ce point en suspend car j'en avais marre de me prendre la tête dessus mais j'aimerais quand même avoir la solution ...
Ci joint une page entière toute bête avec le code de ce fameux menu en rotation.
Je rappelle le problème, il fonctionne sous IE7 mais pas sous FF.
Objectif du code : Faire tourner des div autour d'un axe