在網上有不少關於判斷圖片是否已經加載完畢的文章,可是有的瀏覽器並不適合,下面小編給你們分享一些有關JavaScript判斷圖片是否已經加載完畢方法彙總,具體內容以下所示:
一.onload事件
經過監聽圖片的onload事件,能夠判斷圖片是否已經加載完成,兼容全部的瀏覽器(w3c推薦方法),代碼示例以下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!DOCTYPE html>
<html lang=
"en"
>
<head>
<meta charset=
"UTF-8"
>
<title>Document</title>
</head>
<body>
<script>
// 方法一:圖片已經下載完
document.getElementById(
'img1'
).onload =
function
(e){
e.stopPropagation();
alert(1);
}
</script>
</body>
</html>
|
二.判斷img對象(DOM)的complete屬性
當img加載完成以後,complete對象屬性將變爲true,代碼示例以下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<!DOCTYPE html>
<html lang=
"en"
>
<head>
<meta charset=
"UTF-8"
>
<title>Document</title>
</head>
<body>
<script>
// 方法二:img的complate屬性
var
timer = setInterval(
function
(){
if
(document.getElementById(
'img1'
).complete){
clearInterval(timer);
alert(1);
console.log(document.getElementById(
'img1'
).complete)
}
}, 10);
</script>
</body>
</html>
|
親測該方法一樣可兼容全部瀏覽器
三.onreadystatechange事件
在ie下,img對象與xhr對象同樣具備onreadystatechange事件,能夠通郭建廷該事件判斷圖片是否加載完成,代碼示例以下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!DOCTYPE html>
<html lang=
"en"
>
<head>
<meta charset=
"UTF-8"
>
<title>Document</title>
</head>
<body>
<script>
document.getElementById(
'img1'
).onreadystatechange =
function
() {
if
(document.getElementById(
'img1'
).readyState==
"complete"
||document.getElementById(
'img1'
).readyState==
"loaded"
){
alert(1);
}
}
</script>
</body>
</html>
|
該方法僅在ie下可用
參考出處:http://www.jb51.net/article/79233.htm