基于JavaScript實現瀑布流效果
更新時間:2017年03月29日 17:15:12 作者:努力哥
這篇文章主要為大家詳細介紹了基于JavaScript實現瀑布流效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現瀑布流效果的具體代碼,供大家參考,具體內容如下
前端內容:
使用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>
{#將內容放在container中#}
<div class="container">
{# 將圖片內容放入四個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 () {
{# 網頁加載時自動執(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',
{# 傳輸數據,已經取了多少照片,后臺可以依據,繼續(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)聽滾動條,當滾到底部時,自動加載數據#}
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>
后臺內容:
基于Django的FBV,函數視圖,進行數據的讀取和處理ajax請求
def get_imgs(request):
# 獲取已經取得的照片數目
index = request.GET.get('nid')
#獲取QuerySet集合對象,取從index后的10調數據
imgs_list = models.Student.objects.values('id','img_dir','name')[index:index+10]
imgs_list = list(imgs_list)
# 傳送狀態(tài)和數據內容
ret = {
'status':True,
'data':imgs_list
}
return JsonResponse(ret)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
深入理解webpack process.env.NODE_ENV配置
這篇文章主要介紹了深入理解webpack process.env.NODE_ENV配置,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-02-02
javascript removeChild 導致的內存泄漏
最近看到司徒正美的一篇文章《移除DOM節(jié)點》,文中說到在IE中移除容器類節(jié)點,會引起內存泄露。2010-08-08
uniapp微信小程序底部動態(tài)tabBar的解決方案(自定義tabBar導航)
tabBar如果應用是一個多tab應用,可以通過tabBar配置項指定tab欄的表現,以及tab切換時顯示的對應頁,下面這篇文章主要給大家介紹了關于uniapp微信小程序底部動態(tài)tabBar的解決方案,需要的朋友可以參考下2022-04-04

