[功能实现] 原生ajax瀑布流demo源代码

  [复制链接]
查看: 1191|回复: 72

5168

主题

1615

帖子

1247

积分

会|员

Rank: 9Rank: 9Rank: 9

积分
1247
发表于 2019-1-14 20:45:17 | 显示全部楼层 |阅读模式

本站资源全部免费(发布资源交换)! 赞助本站可获得VIP,全站免费下载!

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

最近听朋友们说起瀑布流挺多的,自己就去研究下了,一个简单的原生demo,分享给大家...

  简单分为三个文档,有详细的注释:img;ajax.php;demo.php

    其中img文件夹中放入图片 1.jpg;2.jpg;3.jpg....

ajax.php页面 

[PHP] syntaxhighlighter_viewsource syntaxhighlighter_copycode
<?php
  //模拟从数据库读取数据
    $arr = array();
    $op = opendir('./img');    //打开目录
 
    //循环读取目录
    while (($file = readdir($op)) !== false) {
        //过滤点和点点
        if ($file == '.' || $file == '..') {
            continue;
        }
        $arr[] = $file;
    }
    closedir($op);    //关闭目录
    echo json_encode($arr);


demo.html页面

[HTML] syntaxhighlighter_viewsource syntaxhighlighter_copycode
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>瀑布流</title>
    <style>
        li{
            list-style: none;
            float: left;
            margin:4px;
        }
        img{
            border:4px solid black;
        }
    </style>
</head>
<body>
    <ul id="ul">
        <!-- <li><img src="./img/1.jpg" height="300" alt=""></li> -->
    </ul>
</body>
<script>
    //找对象
    var ul = document.getElementById('ul');
 
    //拿数据
    function getData()
    {
        var ajax = new XMLHttpRequest();
        ajax.open('get', 'ajax.php', true);
        ajax.send();
        ajax.onreadystatechange = function()
        {
            if (ajax.readyState == 4 && ajax.status == 200) {
                var res = ajax.responseText;
                //处理结果
                var obj = JSON.parse(res);
                for (var k in obj) {
                    // obj[k];
                    //创建节点
                    var li = document.createElement('li');
                    li.innerHTML = '<img src="./img/'+obj[k]+'" height="300" />';
                    ul.appendChild(li);
                }
            }
        }
    }
    getData();
 
    var timer;
    //判断滚动条的高度,加载第二批文件
    window.onscroll = function()
    {
        //获取三高
        var zGao = document.documentElement.scrollHeight;//总高度
        var lGao = document.documentElement.clientHeight;//浏览器可用高度
        var gGao = document.body.scrollTop || document.documentElement.scrollTop;//滚出去的高度
        // console.log(zGao, lGao, gGao);
 
        document.title = zGao + '_' + lGao + '_' + gGao;
 
        if (zGao - lGao - gGao < 500) {
            clearTimeout(timer);
            //用一次性定时器解决连续加载的问题
            timer = setTimeout(function(){
                getData();
            }, 200)
        }
    }
</script>
</html>



回复

使用道具 举报

8

主题

7206

帖子

943

积分

技冠群雄

Rank: 6Rank: 6

积分
943

发表于 2019-1-15 12:35:37 | 显示全部楼层
不错不错,楼主您辛苦了。。。

18

主题

7417

帖子

1039

积分

技冠群雄

Rank: 6Rank: 6

积分
1039

发表于 2019-1-18 09:38:07 | 显示全部楼层
过来看看的

15

主题

7440

帖子

1000

积分

技冠群雄

Rank: 6Rank: 6

积分
1000

发表于 2019-1-18 11:40:51 | 显示全部楼层
相当不错,感谢无私分享精神!

13

主题

7294

帖子

970

积分

技冠群雄

Rank: 6Rank: 6

积分
970

发表于 2019-1-19 22:28:34 | 显示全部楼层
我是来刷分的,嘿嘿

12

主题

7535

帖子

916

积分

技冠群雄

Rank: 6Rank: 6

积分
916

发表于 2019-1-20 12:11:57 | 显示全部楼层
我是来刷分的,嘿嘿

12

主题

7455

帖子

1004

积分

技冠群雄

Rank: 6Rank: 6

积分
1004

发表于 2019-1-21 09:30:44 | 显示全部楼层
看帖回帖是美德!:lol

0

主题

2923

帖子

-2

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
-2

发表于 2019-1-21 18:02:05 | 显示全部楼层
相当不错,感谢无私分享精神!

13

主题

7294

帖子

970

积分

技冠群雄

Rank: 6Rank: 6

积分
970

发表于 2019-1-23 10:09:12 | 显示全部楼层
学习了,谢谢分享、、、

0

主题

2840

帖子

-4

积分

终身会员[A]

Rank: 7Rank: 7Rank: 7

积分
-4

发表于 2019-1-26 21:47:46 | 显示全部楼层
好好 学习了 确实不错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

精彩图文
 
 
在线客服
技术支持
工作时间:
11:00-23:00

平台简介

Dmz社区(DmzSheQu.Com)是一家IT! 视频教程、电子书、源码、精品好文、软件于一体的交流分享网站.我们每天更新论坛资源(每星期平均每天5套),链接定期维护(失效链接秒更新) ---Dmz社区(如果我们有侵犯了您权益的资源请联系我们删除)

QQ|Archiver|手机版|小黑屋|Dmz社区 每日摇摇乐 | VIP购买

  © 2017-2018   Dmz社区  ICP备案号:

返回顶部 返回列表