2010-08-09 5 views
5

Je n'arrive pas à paramétrer un flotteur dans JS. Mon code est le suivant:Définition de la valeur flottante à partir de Javascript

var closebutton = document.createElement('div'); 
closebutton.style.styleFloat = "right"; 
alert(closebutton.style.styleFloat); 
closebutton.style.background = "#f00"; 
closebutton.innerHTML = '<a href="">&#10006;</a>'; 
titlebar.appendChild(closebutton); 

L'arrière-plan de l'élément est en effet rouge, et lorsqu'il est chargé les alertes de la page « droite ». Pourtant, la div n'est pas flottante droite. Firebug ne montre aucune trace du flotteur. Il n'y a pas d'erreur ou d'avertissement dans la console d'erreur.

Je suis perplexe!

Mise à jour:
Comme suggéré, j'ai aussi essayé:

closebutton.style.float = 'right'; 

Cela ne fonctionne pas non plus, et est mis en évidence rouge vif dans mon éditeur de texte (gedit)

Répondre

11

La méthode standard pour définir le style de flotteur JavaScript est d'utiliser la propriété cssFloat:

closebutton.style.cssFloat = 'right'; 

qui fonctionne dans tous les navigateurs, mais pas dans IE, qui attend la place des biens styleFloat. Par conséquent, vous pouvez détecter le navigateur, et d'appliquer la propriété appropriée, ou les mettre bien les deux:

closebutton.style.styleFloat = 'right'; 
closebutton.style.cssFloat = 'right'; 

Notez que float est un mot réservé en JavaScript, et ne peut pas être utilisé dans la notation de points. La même chose vaut pour class, par exemple, qui est un autre mot réservé. C'est pourquoi il existe un nom différent pour les propriétés CSS qui entrent en conflit avec les mots réservés JavaScript (Source).

Pour en savoir plus:

+0

Ces mots où dans ma tête la minute où j'ai vu le titre de la question - vous êtes un lecteur de longue distance MIND-READER !! :) – Latze

3

Au lieu de closebutton.style.float, utilisez closebutton.style.cssFloat

Référence: W3C Style Object Reference

+0

merci! cela a fonctionné – Mala

Questions connexes