使用JS编程加载CSS

问题描述

| 我正在努力实现以下目标: 我有一个服务器端脚本,该脚本根据GET参数生成CSS代码 应用户要求,JS现在应执行以下操作 加载一个新的CSS文件 加载完成后,淡出为新加载的样式 问题是最后一步。 将新的CSS文件添加到DOM没问题,但是我怎么知道浏览器何时完成加载该文件? 在实际加载文件之前,无法使用新加载的样式启动动画。 或者:是否可以使用Async Requests加载CSS文件,并使用Javascript将CSS代码注入DOM中而无需手动解析它? 非常感谢你! 丹尼斯     

解决方法

有一个很好的库用于这种过滤器... 也许您可以尝试一下:   是的      Yepnope是一种超快速的异步条件资源加载器,它允许您仅加载用户所需的脚本。     ,我知道这个问题已经很老了,但是如果有人用谷歌搜索这个问题,下面的函数可以让您定义一个回调,以便在加载样式表时知道:
    var css = function(url,callback) {

         var head = document.getElementsByTagName(\'head\')[0];
         var cssnode = document.createElement(\'link\');

         cssnode.type = \'text/css\';
         cssnode.rel = \'stylesheet\';
         cssnode.href = url;

         cssnode.onreadystatechange = callback;
         cssnode.onload = callback;

         head.appendChild(cssnode);
     }
    ,
function loadjscssfile(filename,filetype){
 if (filetype==\"js\"){ //if filename is a external JavaScript file
  var fileref=document.createElement(\'script\')
  fileref.setAttribute(\"type\",\"text/javascript\")
  fileref.setAttribute(\"src\",filename)
 }
 else if (filetype==\"css\"){ //if filename is an external CSS file
  var fileref=document.createElement(\"link\")
  fileref.setAttribute(\"rel\",\"stylesheet\")
  fileref.setAttribute(\"type\",\"text/css\")
  fileref.setAttribute(\"href\",filename)
 }
 if (typeof fileref!=\"undefined\")
  document.getElementsByTagName(\"head\")[0].appendChild(fileref)
}

loadjscssfile(\"myscript.js\",\"js\") //dynamically load and add this .js file
loadjscssfile(\"javascript.php\",\"js\") //dynamically load \"javascript.php\" as a JavaScript file
loadjscssfile(\"mystyle.css\",\"css\") ////dynamically load and add this .css file
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...