Ver Mensaje Individual
  #3 (permalink)  
Antiguo 12/12/2013, 12:40
Avatar de marlanga
marlanga
 
Fecha de Ingreso: enero-2011
Ubicación: Murcia
Mensajes: 1.024
Antigüedad: 13 años, 4 meses
Puntos: 206
Respuesta: Crear hoja de estilo CSS con javascript

Usa callbacks, que para eso están.

Código Javascript:
Ver original
  1. if(typeof document.createStyleSheet === 'undefined') {
  2.                 document.createStyleSheet = function(param){
  3.  
  4.                     var index = document.styleSheets.length;
  5.                     var head=document.getElementsByTagName('head')[0];
  6.                     if(typeof param == 'string')
  7.                     {
  8.                         var element = document.createElement('link');
  9.                         element.type = 'text/css';
  10.                         element.rel = 'stylesheet';
  11.                         element.href = param;
  12.                     }
  13.                     else
  14.                     {
  15.                         var element = document.createElement('style');
  16.                         element.type = 'text/css';
  17.                     }
  18.                     head.appendChild(element);
  19.                     function loaded(){
  20.                         if (typeof param != 'function') return;
  21.                         if (document.styleSheets.length==index)
  22.                         {
  23.                             setTimeout(loaded,1);
  24.                         }
  25.                         else
  26.                         {
  27.                             param(document.styleSheets[index]);
  28.                         }
  29.                     }
  30.                     loaded();
  31.                     console.log( element );
  32.                 }
  33.             }
  34.             window.onload = function() {
  35.                 document.createStyleSheet( 'test.css' );
  36.                 document.createStyleSheet(
  37.                     function(sheet){
  38.                         sheet.insertRule('h1 { color: red; }', 0 );
  39.                     }
  40.                 );
  41.             }