zoukankan      html  css  js  c++  java
  • html瀑布流

    >>>model
    
    class Img(models.Model):
        src = models.FileField(verbose_name='路径',upload_to='static/img')
    
        class Meta:
            verbose_name_plural = '图片'  
    
    >>>views
    
    import json
    def imgback(request):
        nid = request.GET.get('nid')
        #获取的是QuerySet数据类型
        img_list = Img.objects.values('id','src')
        # 将QuerySet数据类型转换成列表
        img_list = list(img_list)
        ret = {
            'status': True,
            'data': img_list,
        }
        return HttpResponse(json.dumps(ret))       
    
    >>>html
    
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            .content{
                 1000px;
                margin: 0 auto;
            }
            .item{
                 25%;
                float: left;
            }
            .item img{
                 100%;
            }
        </style>
    </head>
    <body>
    
    <div class="content" id="container">
    
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
        <div class="item"></div>
    
    </div>
    
    <script src="/static/js/jquery-3.3.1.js"></script>
    <script>
        $(function () {
            intImg();
            scoreEvent();
        });
        NID=0;
        LASTPOSION = 0;
        function intImg() {
            $.ajax({
                url:'/imgback/',
                type:'GET',
                data:{nid:NID},
                success:function (arg) {
                    ret = JSON.parse(arg);
                    var img_list = ret.data;
                    $.each(img_list,function (index,v) {
                        var eqv = (index+LASTPOSION+1)%4;
                        var tag = document.createElement('img');
                        tag.src = '/'+v.src;
                        $("#container").children().eq(eqv).append(tag);
                        //当循环到最后一个图片时,将图片id赋值给nid
                        if(index+1 == img_list.length){
                            NID = v.id
                            LASTPOSION = eqv
                        }
                    })
                }
            })
        }
    
        function scoreEvent() {
            $(window).scroll(function () {
                //文档高度
                var docHeight = $(document).height();
                //窗口高度
                var winHeight = $(window).height();
                //滚动条可滑动的高度
                var scrollTop = $(window).scrollTop();
                console.log(docHeight,winHeight,scrollTop);
                if((winHeight + scrollTop)+1 >= docHeight){
                    console.log(1);
                    intImg()
    
                }
    
            })
        }
        
    </script>
    </body>
    </html>
    from django.http import JsonResponse
    return JsonResponse(ret)
  • 相关阅读:
    MySQL (下篇)
    【JUC剖析】专栏总集篇
    CF1391D(思维)
    CF1393E2(字符串)
    洛谷P5405 [CTS2019]氪金手游(期望,容斥)
    P5293 [HNOI2019]白兔之舞(单位根反演)
    洛谷P5400 [CTS2019]随机立方体(计数)
    洛谷P5401 [CTS2019]珍珠(生成函数)
    支配树学习笔记
    UOJ455 雪灾与外卖(模拟费用流)
  • 原文地址:https://www.cnblogs.com/yzcstart/p/10758042.html
Copyright © 2011-2022 走看看