基于JavaScript實(shí)現(xiàn)瀑布流效果
本文實(shí)例為大家分享了js實(shí)現(xiàn)瀑布流效果的具體代碼,供大家參考,具體內(nèi)容如下
前端內(nèi)容:
使用JavaScript和四個(gè)div,將照片放入四個(gè)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)容放入四個(gè)item中,形成四個(gè)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)頁(yè)加載時(shí)自動(dòng)執(zhí)行#}
var obj = new ScrollImg();
obj.fetchImg();
obj.scrollEvent();
})
{# 定義對(duì)象#}
function ScrollImg() {
this.nid = 0;
{# 取照片方法#}
this.fetchImg = function () {
var that = this
$.ajax({
url: '/get_imgs.html',
type: 'GET',
{# 傳輸數(shù)據(jù),已經(jīng)取了多少照片,后臺(tái)可以依據(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)聽(tīng)滾動(dòng)條,當(dāng)滾到底部時(shí),自動(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>
后臺(tái)內(nèi)容:
基于Django的FBV,函數(shù)視圖,進(jìn)行數(shù)據(jù)的讀取和處理ajax請(qǐng)求
def get_imgs(request):
# 獲取已經(jīng)取得的照片數(shù)目
index = request.GET.get('nid')
#獲取QuerySet集合對(duì)象,取從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)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- javascript實(shí)現(xiàn)瀑布流加載圖片原理
- 基于JavaScript實(shí)現(xiàn)瀑布流布局(二)
- js實(shí)現(xiàn)瀑布流的三種方式比較
- 深入學(xué)習(xí)js瀑布流布局
- javascript實(shí)現(xiàn)瀑布流動(dòng)態(tài)加載圖片原理
- 瀑布流的實(shí)現(xiàn)方式(原生js+jquery+css3)
- 純js實(shí)現(xiàn)瀑布流布局及ajax動(dòng)態(tài)新增數(shù)據(jù)
- 解析javascript瀑布流原理實(shí)現(xiàn)圖片滾動(dòng)加載
- javascript瀑布流式圖片懶加載實(shí)例解析與優(yōu)化
- javascript瀑布流式圖片懶加載實(shí)例
相關(guān)文章
深入理解webpack process.env.NODE_ENV配置
這篇文章主要介紹了深入理解webpack process.env.NODE_ENV配置,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-02-02
JavaScript對(duì)象和字串之間的轉(zhuǎn)換實(shí)例探討
從對(duì)象的格式可以看出,如果字串的格式定義成 json 格式的, 就可以直接轉(zhuǎn)換為obj了,感興趣的朋友可以參考下哈2013-04-04
echarts設(shè)置暫無(wú)數(shù)據(jù)方法實(shí)例及遇到的問(wèn)題
Echarts是百度旗下的一款開(kāi)源的商業(yè)級(jí)數(shù)據(jù)可視化產(chǎn)品,具有豐富的圖表類(lèi)型,下面這篇文章主要給大家介紹了關(guān)于echarts設(shè)置暫無(wú)數(shù)據(jù)方法及遇到的問(wèn)題的相關(guān)資料,需要的朋友可以參考下2022-12-12
Bootstrap每天必學(xué)之工具提示(Tooltip)插件
Bootstrap每天必學(xué)之工具提示(Tooltip)插件,工具提示就是通過(guò)鼠標(biāo)移動(dòng)選定在特定的元素上時(shí),顯示相關(guān)的提示語(yǔ),感興趣的小伙伴們可以參考一下2016-04-04
js實(shí)現(xiàn)圖片和鏈接文字同步切換特效的方法
這篇文章主要介紹了js實(shí)現(xiàn)圖片和鏈接文字同步切換特效的方法,涉及javascript操作文字及圖片的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-02-02
javascript removeChild 導(dǎo)致的內(nèi)存泄漏
最近看到司徒正美的一篇文章《移除DOM節(jié)點(diǎn)》,文中說(shuō)到在IE中移除容器類(lèi)節(jié)點(diǎn),會(huì)引起內(nèi)存泄露。2010-08-08
uniapp微信小程序底部動(dòng)態(tài)tabBar的解決方案(自定義tabBar導(dǎo)航)
tabBar如果應(yīng)用是一個(gè)多tab應(yīng)用,可以通過(guò)tabBar配置項(xiàng)指定tab欄的表現(xiàn),以及tab切換時(shí)顯示的對(duì)應(yīng)頁(yè),下面這篇文章主要給大家介紹了關(guān)于uniapp微信小程序底部動(dòng)態(tài)tabBar的解決方案,需要的朋友可以參考下2022-04-04
自動(dòng)生成文章摘要的代碼[JavaScript 版本]
自動(dòng)生成文章摘要的代碼[JavaScript 版本]...2007-03-03

