如何实现JavaScript动态加载CSS和JS文件

html-css013

如何实现JavaScript动态加载CSS和JS文件,第1张

//动态加载 CSS 文件

dynamicLoading.css("test.css")

//动态加载 JS 文件

dynamicLoading.js("test.js")

在onTransitionEnd(swiper) 或者 onSlideChangeEnd(swiper)回调中给当前页添加动画类,其他页移除动画类,其中 swiper.activeIndex 为当前活动块的索引。

CSS不能指定图片加载顺序,应该问的JS指定图片加载顺序。

javascript监听一个图片是否加载完毕 如果加载完成再加载下一张,不是一次性从服务器加载 减少服务器压力, 

可用到的地方:比如制作类似google地图的应用,可以使小图一张一张的加载。

function Load_pic(arr){    //这里接受的图片的所以链接数组。

  this.loop_f=function(i,o_file,len,f,obj){

      if(i<len-1){

          i=i+1

          f(i,o_file,len,obj)

         }

   } 

   this.creat_pic=function(i,o_file,len,obj){

         var f=arguments.callee,

        doc=document,

        image = doc.createElement("img")    

        image.src =o_file[i]

        i<len?doc.getElementsByTagName("body")[0].appendChild(image):''

        if(navigator.userAgent.indexOf("MSIE")>0){   //是IE浏览器

               if($.browser.version==6.0 || $.browser.version==9.0){ //IE兼容处理。       

                   image.onreadystatechange = function () { 

                       if (image.readyState == "complete"){ //image 加载完后,函数回调。

            obj.loop_f(i,o_file,len,f,obj)

                       } 

                   } 

               }else{  //非IE7和IE9的IE浏览器。

                   ie7imagetime = window.setInterval(function(){ 

                       var rs = image.readyState 

                       if(rs=="complete"){ 

                           window.clearInterval(ie7imagetime) 

            obj.loop_f(i,o_file,len,f,obj)

                       }else{ 

                           return 

                       } 

                   },200) 

               } 

           }else{  //非IE浏览器,直接用onload事件

               image.onload = function () { 

                   if (image.complete == true){ 

            obj.loop_f(i,o_file,len,f,obj)

                    } 

               } 

        }

    } 

     if(arr.constructor===Array){  //函数开始执行的地方。

      var len=arr.length,

           i=0

     i<len?this.creat_pic(i,arr,len,this):''

          

    }

 }