2010-08-09 7 views
5

Tengo problemas para configurar algo para flotar directamente en JS. Mi código es el siguiente:configurando el valor flotante 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); 

El fondo del elemento es de hecho rojo, y cuando se carga la página Alertas "derecho". Sin embargo, el div no está flotando bien. Firebug no muestra rastros del flotador. No hay errores o advertencias en la Consola de errores.

¡Estoy perplejo!

Actualización:
Como se ha sugerido, también he intentado:

closebutton.style.float = 'right'; 

Esto también no funciona, y se pone de relieve de color rojo brillante en mi editor de texto (gedit)

Respuesta

11

La manera estándar para establecer el estilo de flotación en JavaScript es utilizar el cssFloat propiedad:

closebutton.style.cssFloat = 'right'; 

que funciona en todos los navegadores, pero no en IE, que espera la propiedad styleFloat lugar. Por lo tanto usted puede detectar el navegador, y aplicar la propiedad adecuada, o bien fijar los dos:

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

Tenga en cuenta que float es una palabra reservada en JavaScript, y no se pueden utilizar en la notación de puntos. Lo mismo aplica para class, por ejemplo, que es otra palabra reservada. Es por eso que hay un nombre diferente para las propiedades de CSS que entran en conflicto con las palabras reservadas de JavaScript (Source).

Más información:

+0

Esas palabras estaban en mi cabeza en el momento en que vi el título de la pregunta: ¡eres un MIND-LADER de larga distancia! :) – Latze

Cuestiones relacionadas