11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je souhaiterais redimensionner un div. J'ai ecrit une fonction javascript qui fonctionne sous internet explorer mais pas sous firefox.

l'idee est d'afficher et de grossir la largeur d'un div "virtuel" nomme machin_bis puis lorsqu'il a atteint sa largeur de 220 de cacher machin_bis et d'afficher machin.


je la lance comme ceci a l'interieur d une autre fonction : effet_visuel(id,800,800,30);

function effet_visuel(id,duree_tot,duree_rest,pas){
if(duree_rest<=0){ cache(id+"_bis");
affiche2(id,1);}
else{
if(duree_tot==duree_rest){var largeur=0;}
else{var largeur=document.getElementById(id+"_bis").clientWidth;};
document.getElementById(id+"_bis").style.display = "block";
document.getElementById(id+"_bis").style.width = largeur+220*pas/duree_tot;
setTimeout(function(){effet_visuel(id,duree_tot,duree_rest-pas,pas);},pas);
}
}

La console affiche "Erreur d'analyse de la valeur de la propriete "width". Declaration abandonnee"

je pense que le pb vient de document.getElementById(id+"_bis").style.width mais en ayant chercher sur internet je n'ai pas trouver ma reponse ... Smiley decu

Pourriez vous m'aider svp
Bonjour,

Je pense que ton problème provient du fait que tu n'indiques aucune unité à ta propriété wdth. En rajoutant px comme dans le code suivant, cela devrait fonctionner sur Firefox.
document.getElementById(id+"_bis").style.width = largeur+220*pas/duree_tot+"px";


Sinon, tu devrais mettre ton code entre des balises prévues à cet effet dans l'interface du forum. Les posts sont bien plus lisibles ainsi. Smiley cligne


dunjl
Modifié par dunjl (07 Dec 2007 - 21:02)