Déplacement de divs sous firefox

Eléphant du PHP | 100 Messages

02 août 2006, 21:58

Bonjour, je n'arrive pas a faire fonctionner mes fonctions sous firefox :cry: Pouvez-vous m'aider ? Voici la source à problèmes :D . Merci.

Code : Tout sélectionner

<script language="javascript" type="text/javascript"> <!-- //Configuration var SLD_Fermeture_auto = 1; var SLD_Ouverture_auto = 1; //Vitesse inverse plus le nombre est grand moins c 'est rapide var SLD_Vitesse = 1; //Nombre de pixels a déplacer à chaque frame var SLD_Freq = 20; var SLD_Delai_Ouverture = 2000; var SLD_Delai_Fermeture = 10000; var SLD_Largeur = 200; var SLD_Hauteur = 100; var SLD_Cur_Status = 0; var SLD_Pos_Left = 100; var SLD_Stop_Pos_top = 100; var SLD_Start_Pos_top = -200; var SLD_Div_Border_largeur = 1; //couleurs var SLD_Div_Border_color = '660000'; var SLD_Div_Border_type = 'solid'; var SLD_Top_bg_color = '660000'; var SLD_Bas_bg_color = 'EEEE55'; var SLD_Top_Txt_color = 'FFFFFF'; var SLD_Top_Close_color = 'FFFFFF'; var SLD_Bas_Txt_color = '444444'; var SLD_Top_Close_txt = 'Fermer'; var SLD_Titre = 'Une popup pour tout le monde'; var SLD_Contenu = 'Team-Shop a la <strong>solution</strong> qui vous convient !'; //Fonctions ne pas changer function SLD_Open(){ if (document.getElementById){ var SLD_Ladiv = document.getElementById('SLD_Div'); } else if (document.all){ var SLD_Ladiv = document.all['SLD_Div'].style.borderColor = color; } SLD_Ladiv.style.display='block'; if(SLD_Ladiv.style.pixelTop<SLD_Stop_Pos_top){ SLD_Ladiv.style.pixelTop+=SLD_Freq; setTimeout("SLD_Open()",SLD_Vitesse); } if(SLD_Fermeture_auto == 1){ setTimeout("SLD_Close()",SLD_Delai_Fermeture); } SLD_Cur_Status = 1; } function SLD_Close(){ if (document.getElementById){ var SLD_Ladiv = document.getElementById('SLD_Div'); } else if (document.all){ var SLD_Ladiv = document.all['SLD_Div'].style.borderColor = color; } if(SLD_Ladiv.style.pixelTop>(-(eval(SLD_Hauteur+SLD_Stop_Pos_top)))){ SLD_Ladiv.style.pixelTop-=SLD_Freq; setTimeout("SLD_Close()",SLD_Vitesse); } else{ SLD_Ladiv.style.display='none'; } SLD_Cur_Status = 0; } function SLD_Open_Close(){ if(SLD_Cur_Status == 0){ SLD_Open() } else{ SLD_Close() } var Randomize = Math.round(Math.random()); } //styles document.write( '<style type="text/css">'+ '#SLD_Div {'+ 'width:'+SLD_Largeur+';'+ 'height:'+SLD_Hauteur+';'+ 'font-family: Verdana, Arial, Helvetica, sans-serif;'+ 'font-size: 10px;'+ 'font-weight: normal;'+ 'border: '+SLD_Div_Border_largeur+'px '+SLD_Div_Border_type+' #'+SLD_Div_Border_color+';'+ 'z-index:1234567'+ '}'+ '#SLD_Header {'+ 'font-family: Verdana, Arial, Helvetica, sans-serif;'+ 'font-size: 10px;'+ 'font-weight: bold;'+ 'background-color: #'+SLD_Top_bg_color+';'+ 'color: #'+SLD_Top_Txt_color+';'+ '}'+ '#SLD_Contenu {'+ 'font-family: Verdana, Arial, Helvetica, sans-serif;'+ 'font-size: 10px;'+ 'font-weight: normal;'+ 'background-color: #'+SLD_Bas_bg_color+';'+ 'color: #'+SLD_Bas_Txt_color+';'+ 'width:'+SLD_Largeur+';'+ '}'+ '#SLD_Titre {'+ 'font-family: Verdana, Arial, Helvetica, sans-serif;'+ 'font-size: 10px;'+ 'text-align: left;'+ '}'+ '#SLD_Close {'+ 'font-family: Verdana, Arial, Helvetica, sans-serif;'+ 'font-size: 10px;'+ 'color: #'+SLD_Top_Close_color+';'+ 'cursor: pointer;'+ '}'+ '</style>' ); //div document.write( '<div id="SLD_Div" style="position: absolute;left: '+SLD_Pos_Left+'px;top: '+SLD_Start_Pos_top+'px;display: none;">'+ '<table width="'+SLD_Largeur+'" border="0" cellspacing="0" cellpadding="2">'+ '<tr id="SLD_Header">'+ '<td align="left" id="SLD_Titre" nowrap>'+SLD_Titre+'</td>'+ '<td align="right"><span id="SLD_Close" title="'+SLD_Top_Close_txt+'" onclick="SLD_Close()">X</span></td>'+ '</tr>'+ '<tr>'+ '<td valign="top" colspan="2" id="SLD_Contenu" height="'+SLD_Hauteur+'">'+SLD_Contenu+'</td>'+ '</tr>'+ '</table>'+ '</div>' ); //Appel if(SLD_Ouverture_auto == 1){ setTimeout("SLD_Open()",SLD_Delai_Ouverture); } --> </script>

Mammouth du PHP | 19672 Messages

02 août 2006, 23:35

La description est pour le moins succincte :?

enfin bon, en regardant rapidement, je crois que tu fais fausse route en ré-écrivant une feuille de style, d'abord parce qu'elle se trouverait "virtuellement" dans le "body" où elle n'a pas sa place et ensuite parce que ce n'est pas la meilleure méthode : via le DOM, tu peux aller directement modifier le style de tel ou tel élément dans une page pour autant qu'il soit possible de l'identifier dans le code grace à un attribut "id" qui faciliterait le travail.

Ainsi, tu pourrais écrire quelque chose du genre :

Code : Tout sélectionner

// Position d'un élément x var pos_x = 250; var pos_y = 100; // Définition de l'élément var cadre_x = document.getElementById('mon_bloc_div'); cadre_x.style.left = pos_x; cadre_x.style.top = pos_y;
explore un peu cet itinéraire et jette un coup d'oeil sur aidejavascript.com
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: