基于JavaScript實(shí)現(xiàn)瀑布流效果
本文實(shí)例為大家分享了js實(shí)現(xiàn)瀑布流效果的具體代碼,供大家參考,具體內(nèi)容如下
前端內(nèi)容:
使用JavaScript和四個div,將照片放入四個div中
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <style> .container { width: 1000px; margin: 0 auto; background-color: lightgray; } .item { width: 24%; margin-right: 10px; float: left; } .item img{ width: 100%; } </style> </head> <body> {#將內(nèi)容放在container中#} <div class="container"> {# 將圖片內(nèi)容放入四個item中,形成四個item#} <div class="item"></div> <div class="item"></div> <div class="item"></div> <div class="item"></div> </div> <script src="/static/js/jquery-2.1.4.min.js"></script> <script> $(function () { {# 網(wǎng)頁加載時自動執(zhí)行#} var obj = new ScrollImg(); obj.fetchImg(); obj.scrollEvent(); }) {# 定義對象#} function ScrollImg() { this.nid = 0; {# 取照片方法#} this.fetchImg = function () { var that = this $.ajax({ url: '/get_imgs.html', type: 'GET', {# 傳輸數(shù)據(jù),已經(jīng)取了多少照片,后臺可以依據(jù),繼續(xù)取照片#} data: {'nid': that.nid}, dataType: 'JSON', success: function (args) { if (args.status) { var img_list = args.data; $.each(img_list, function (index, obj) { var eqv = that.nid % 4; var tag = document.createElement('img') tag.src = '/' + obj.img_dir; console.log(eqv) $('.container').children().eq(eqv).append(tag) that.nid += 1; }) } } }) } {# 監(jiān)聽滾動條,當(dāng)滾到底部時,自動加載數(shù)據(jù)#} this.scrollEvent = function () { var that = this; $(window).scroll(function () { var srollTop = $(window).scrollTop(); var winHeight = $(window).height(); var docHeight = $(document).height(); if (srollTop + winHeight >= docHeight - 2) { that.fetchImg(); } }) } } </script> </body> </html>
后臺內(nèi)容:
基于Django的FBV,函數(shù)視圖,進(jìn)行數(shù)據(jù)的讀取和處理ajax請求
def get_imgs(request): # 獲取已經(jīng)取得的照片數(shù)目 index = request.GET.get('nid') #獲取QuerySet集合對象,取從index后的10調(diào)數(shù)據(jù) imgs_list = models.Student.objects.values('id','img_dir','name')[index:index+10] imgs_list = list(imgs_list) # 傳送狀態(tài)和數(shù)據(jù)內(nèi)容 ret = { 'status':True, 'data':imgs_list } return JsonResponse(ret)
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript實(shí)現(xiàn)瀑布流加載圖片原理
- 基于JavaScript實(shí)現(xiàn)瀑布流布局(二)
- js實(shí)現(xiàn)瀑布流的三種方式比較
- 深入學(xué)習(xí)js瀑布流布局
- javascript實(shí)現(xiàn)瀑布流動態(tài)加載圖片原理
- 瀑布流的實(shí)現(xiàn)方式(原生js+jquery+css3)
- 純js實(shí)現(xiàn)瀑布流布局及ajax動態(tài)新增數(shù)據(jù)
- 解析javascript瀑布流原理實(shí)現(xiàn)圖片滾動加載
- javascript瀑布流式圖片懶加載實(shí)例解析與優(yōu)化
- javascript瀑布流式圖片懶加載實(shí)例
相關(guān)文章
微信小程序使用webview打開pdf文檔以及顯示網(wǎng)頁內(nèi)容的方法步驟
在線查看PDF文件,已經(jīng)是很常見的需求了,下面這篇文章主要給大家介紹了關(guān)于微信小程序使用webview打開pdf文檔以及顯示網(wǎng)頁內(nèi)容的方法步驟,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07javascript String 的擴(kuò)展方法集合
String 的擴(kuò)展方法集合,可以是javascript對string的功能更多2008-06-06js使用setTimeout實(shí)現(xiàn)定時炸彈的方法
這篇文章主要介紹了js使用setTimeout實(shí)現(xiàn)定時炸彈的方法,涉及javascript中setTimeout方法的使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04JS實(shí)現(xiàn)圖片元素轉(zhuǎn)BASE64編碼的簡單示例
在Web開發(fā)中,我們經(jīng)常需要將圖片轉(zhuǎn)換為Base64格式,以便在不依賴外部資源的情況下直接在HTML中使用,在這篇文章中,我將向您展示如何使用JavaScript將圖片元素轉(zhuǎn)BASE64編碼,需要的朋友可以參考下2023-12-12微信小程序轉(zhuǎn)發(fā)事件實(shí)現(xiàn)解析
這篇文章主要介紹了微信小程序轉(zhuǎn)發(fā)事件實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10基于javascript實(shí)現(xiàn)隨機(jī)顏色變化效果
這篇文章主要介紹了基于javascript實(shí)現(xiàn)隨機(jī)顏色變化效果的相關(guān)資料,需要的朋友可以參考下2016-01-01