ホームページ > ウェブフロントエンド > jsチュートリアル > 画像の遅延読み込みチュートリアルの JS 実装

画像の遅延読み込みチュートリアルの JS 実装

巴扎黑
リリース: 2017-07-17 14:59:26
オリジナル
3528 人が閲覧しました

画像の遅延読み込み、

アイデア: マウスが対応する画像の高さまでスライドすると、画像が読み込まれます

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

<!DOCTYPE html>

<html>

    <head>

        <meta charset="UTF-8">

        <title></title>

        <style type="text/css">

            #div{

                width: 575px;

                height: auto;

                overflow: hidden;

                border: red 1px solid;

                margin: 0 auto;

                /*给该div设置定位*/

                position: relative;

            }

            #div img{

                width: 267px;

                height: 396px;

                margin-left: 10px;

                border: 1px solid #000;

            }

        </style>

        <script type="text/javascript">

            function getPos(obj){

                var l = 0;

                var t = 0;

                while(obj){

                     

                    l += obj.offsetLeft;

                    t += obj.offsetTop;

                    obj = obj.offsetParent;

                }

                return {left:l ,top : t}

            }

            window.onload = window.onscroll =  function(){

                //获取到img

                    var aImg = document.getElementsByTagName("img");

                //获取到它的scrollTop 值   考虑兼容问题

                    var oScrollTop = document.documentElement.scrollTop || document.body.scrollTop;

//               clientHeight = 上下padding + height

                    var clientH = document.documentElement.clientHeight;

                    //循环遍历每一项通过调用获取到每一个i 项对象的top 值

                    for (var i = 0;i<aImg.length;i++) {

                        var aImgTop = getPos(aImg[i]).top;

//                      当滚动的时候进行判断,看他的滚动的高度加上它的clientHeight  是否比它的 top 值大  

//                      如果大或等于说明滚动到当前位置可以加载图片

                        if (oScrollTop + clientH >= aImgTop) {

//                          进行图片的加载

                            aImg[i].src = aImg[i].getAttribute("_src");

                        }

                    }

            }

        </script>

    </head>

    <body>

        <div id="div">

            <img _src="../img/1.jpg"/>

            <img _src="../img/2.jpg"/>

            <img _src="../img/3.jpg"/>

            <img _src="../img/4.jpg"/>

            <img _src="../img/6.jpg"/>

            <img _src="../img/7.jpg"/>

            <img _src="../img/1.jpg"/>

            <img _src="../img/2.jpg"/>

            <img _src="../img/3.jpg"/>

            <img _src="../img/4.jpg"/>

            <img _src="../img/6.jpg"/>

            <img _src="../img/7.jpg"/>

            <img _src="../img/3.jpg"/>

            <img _src="../img/4.jpg"/>

            <img _src="../img/6.jpg"/>

            <img _src="../img/7.jpg"/>

        </div>

    </body>

</html>

ログイン後にコピー

ウォーターフォール フローに似たレイアウトがある場合によく使用される読み込みモード

れぇぇぇぇぇぇ

以上が画像の遅延読み込みチュートリアルの JS 実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート