JS 怎么控制一次加载一张图片,加载完后再加载下一张

JavaScript016

JS 怎么控制一次加载一张图片,加载完后再加载下一张,第1张

(1)方法 1 <script type="text/javascript ">var obj=new Image()obj.src="http://www. phpernote.com/uplo adfiles/editor/20110 7240502201179.jpg"obj.onload=function()

  { alert('图片的宽度为: '+obj.width+'图片的 高度为:'+obj.height)document.getElemen tById("mypic").innner HTML="<img src='"+this.src+"' />"

}

</script>

<div id="mypic">onloadi ng......</div>

方法 2

<script type="text/javascript ">

var obj=new Image()obj.src="http://www.phpernote.com/uploadfiles/editor/201107240502201179.jpg"

obj.onreadystatechange=function(){ if(this.readyState==" complete")  alert('图片的宽度为: '+obj.width+'图片的 高度为:'+obj.height)document.getElementById("mypic").innner HTML="<img src='"+this.src+"' />"

}

}

</script>

<div id="mypic">onloadi

可以在js全局代码中,增加一个变量n,用作计数器,表示总图片数。

然后使用图片的onload事件,每成功加载一次图片,将计数器n减去1

当n变成0时,表示图片均加载完毕,这时即可开始执行其他JS代码。

具体示例代码:

var n=$pre4y_main.length

...

$img[0].onload=function(){    ...

    n--

    if(!n){

        //执行其他JS代码

    }

}

要把图片当成是图片对象才行;

var a=new Image()//这个是原生的JS实例化

a.src=arr[shownum++].url

然后Image对象有一个属性“onload”,这个就是加载完成,当加载完成之后你可以执行一个函数比如

a.onload=function(){

alert("完成加载")

}

这样当你的图片加载完成后就执行下面的函数了。

相关问题:

如果你是将JS函数写入到一个单独的文件中,如function.js,

下面为function.js

/*

这里最好是记录一下函数的作用,如果有参数,最好就是说明一下

函数名称:func1

函数作用:测试加载外部JS文件

参数说明:无

*/

function func1(){

alert("调用了函数1")

}

/*

函数名称:func1

函数作用:测试加载外部JS文件

参数说明:无

*/

function func2(){

alert("调用了函数2")

}

至于JS的书写规范有很多种,主要就是方便浏览及习惯,你可以自己看看书上的书写方式或者参考一下其他高手方式。

出现乱码的原因就是1楼所说,原因是你的JS文件和HTML文件的编码不一致,而且你的JS文件有中文(如果js文件只有英文的话,即便是编码不一致也不会出现乱码情况。)

你应该用记事本打开你的JS文件,然后点击“文件”--另存为--把编码改为“UTF-8”的编码,

这样就不会出现乱码了。