Aller au contenu

javascript et XHTML


nessuno94

Sujets conseillés

coucou tout le monde

j'ai un problème avec ce script qui affiche une pub latérale qui descent en même temps que le défilement de la fenetre.

Le problème est que depuis que j'ai passé mes pages en xhtml le script ne fonctionne plus très bien, il ne prend plus en compte la position théorique de la pub et la place a l'extrémité haute gauche de la fenetre.

Qq'un pourrait il me dire comment mettre à jour ce script svp? ;)

merci de votre aide!

<script type="text/javascript">

ejs_logo_url = "<? echo $image_pub;?>";

ejs_logo_redir = "<? echo $redirection_pub;?>";

if (document.getElementById)

{

var staticlogo=new Image;

staticlogo.src=ejs_logo_url;

document.write('<div id="ejs_logo" style="z-index:200;position:absolute;width:'+staticlogo.width+';height:'+staticlogo.height+'"><a href="'+ejs_logo_redir+'" target=_blank><img src="'+staticlogo.src+'" border="0" alt="" /></a></div><div id="ejs_logo2" style="z-index:100;position:absolute;width:'+staticlogo.width+';height:'+staticlogo.height+';background:#000000;filter:alpha(opacity=40); -moz-opacity: .4;"></a></div>')

ejs_scx = document.body.clientWidth;

ejs_scy = document.body.clientHeight;

document.getElementById("ejs_logo").style.top=(ejs_scy-staticlogo.height-20);

document.getElementById("ejs_logo").style.left=(820);

document.getElementById("ejs_logo2").style.top=(ejs_scy-staticlogo.height-15);

document.getElementById("ejs_logo2").style.left=(825);

}

function logoit()

{

if (document.getElementById)

{

w2=document.body.scrollTop;

document.getElementById("ejs_logo").style.top=(w2+ejs_scy-staticlogo.height-20);

document.getElementById("ejs_logo2").style.top=(w2+ejs_scy-staticlogo.height-15);

setTimeout("logoit()",1);

}

}

window.onload=logoit

</script>

Lien vers le commentaire
Partager sur d’autres sites

Document.write est l'exemple parfait de technologie dépassée, utilisée uniquement pour le HTML et totalement inconnue de tout bon parseur XML. Pour le XML/XHTML il faut manipuler directement l'arbre DOM avec les fonctions qui vont avec comme createElement, createTextNode ou appendChild pour ne citer que celles-ci (un petit tutoriel à ce sujet).

Lien vers le commentaire
Partager sur d’autres sites

Concernant ta question je ne répéterais pas ce qu'a dit Xavier, qui est de toutes façons plus calé que moi à ce sujet ;)

En revanche, je vois que tu souhaites utiliser de l'opacité. Tu peux déclarer en 3ème choix CSS la règle "opacity=.4" qui sera utile pour les navigateurs modernes qui savent interpréter l'opacité sans recourir à des solutions propriétaires ;)

Lien vers le commentaire
Partager sur d’autres sites

Merci à vous 2!

Dudu merci, je vais effectivement rajouter ce paramètre.

Xavier peux tu m'expliquer comment changer simplement le document.write sans avoir a réécrire toute la fonction parceque le temps que je me mette dans le bain... ;)

déjà cela est-il possible?!

merci! :D

Lien vers le commentaire
Partager sur d’autres sites

merci pour vos réponses

en fait le pb semble venir d'ailleur, parceque l'affichage de la bannière se fait bien (meme sous firefox!) mais s'est son repositionnement dhtml qui déconne, c'est donc la fonction logoit() qui ne s'execute pas

elle est tout simplement pas pris en compte...

et la je vois pas trop d'ou ça vient :wacko:

Lien vers le commentaire
Partager sur d’autres sites

  document.getElementById("ejs_logo").style.top=(w2+ejs_scy-staticlogo.height-20);

  document.getElementById("ejs_logo2").style.top=(w2+ejs_scy-staticlogo.height-15);

<{POST_SNAPBACK}>

Peut-être parce que tu as oublié les unités ? On ne t'a pas assez rappelé que les unités étaient importantes aux cours de physique ? :lol:

Si document.write fonctionne alors c'est que tu n'es pas "vraiment" en XHTML, plutôt dans un mode "compatible HTML" (= tu envoies ta page en text/html plutôt qu'en application/xhtml+xml) ;)

PS : tu peux carrément supprimer le -moz-opacity, je ne sais même pas si Mozilla le supporte encore celui-ci (si c'est le cas ça ne va pas durer). :P

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...