css指定图片加载顺序

html-css025

css指定图片加载顺序,第1张

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):''

          

    }

 }

要使 css 中的背景图片在页面加载时全部下载完成,可以使用CSS实现。示例代码如下:

#preloader {

background-image: url(image1.jpg)

background-image: url(image2.jpg)

background-image: url(image3.jpg)

width: 0px

height: 0px

display: inline

}

这个概念就是写一个CSS样式设置一批背景图片,然后将其隐藏,这样你就看不到那些图片了。那些背景图片就是你想预载的图片。

初始化时动态加载隐藏。

jquery :

$(function(){

$("#id").show()显示

$("#id").hide()隐藏

})

js :

function init(){

document.getElementById("id").style.display = "block" 显示

document.getElementById("id").style.display = "none" 隐藏

}