zoukankan      html  css  js  c++  java
  • 使用JS实现图片展示瀑布流效果

    不知大家有没有发现,一般的图片展示网站都会使用瀑布流效果,所谓的瀑布流

    就是网站内的图片不会一下子全缓存出来,而是等你滚动到一定的距离的时候,

    下面的图片才会继续缓存,并且图片也是随机出现的,只是宽度一样,高度并不

    一样,高高低低就像瀑布一样,所以叫做瀑布流效果。下面我把代码给大家,大家

    随便下几张图片试试。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>瀑布流不重复</title>
        <style>
        *{margin: 0px;padding: 0px;list-style: none;}
        #box{width: 1000px;margin: 0 auto;}
        #box ul{float: left;width: 200px;margin-right: 50px;}
        #box img{width: 200px;}
        </style>
    </head>
    <body>
        <div id="box">
            <ul></ul>
            <ul></ul>
            <ul></ul>
            <ul></ul>
        </div>
        <script>
            var box=document.getElementById('box');
            var ul=box.children;
            function insert(){
                var x=0;
                var srcNum=Math.floor(Math.random()*35);//35是35张图片,可改成任意数,我这里总共是35张图片。
                var newli=document.createElement('li');
                newli.innerHTML='<img src="images/'+srcNum+'.png" alt="">';//这是图片的文件名,要求是统一。
                var minH=Math.min(ul[0].clientHeight,ul[1].clientHeight,ul[2].clientHeight,ul[3].clientHeight);
                for (var i = 0; i < ul.length; i++) {
                    if (ul[i].clientHeight==minH) {
                        x=i;
                        break;
                    }
                }
                ul[x].appendChild(newli);
          }
          for (var i = 0; i < 20; i++) {
              insert();
          }
          document.onscroll=function(){
              var viewH=document.body.clientHeight||document.documentElement.clientHeight;
              var winH=document.documentElement.scrollHeight;
              var scrollT=document.body.scrollTop||document.documentElement.scrollTop;
              if (winH-scrollT-viewH<500) {
                  for (var i = 0; i < 20; i++) {
                  insert();
              }
           }
          }
        </script>
    </body>
    </html>
  • 相关阅读:
    重写GridView(转载)
    《Windows Communication Foundation之旅》系列之二(转载)
    C++类的继承与多重继承的访问控制(转载)
    准备出发
    10月8日 多云
    081014 曇後雨
    关于SQL Server 2005 Reporting Services的几点设置
    081007 浓雾
    081003 晴
    10月6日 上班
  • 原文地址:https://www.cnblogs.com/duenyang/p/5844732.html
Copyright © 2011-2022 走看看