jQuery實(shí)現(xiàn)動(dòng)態(tài)加載瀑布流
jquery實(shí)現(xiàn)瀑布流,供大家參考,具體內(nèi)容如下
案例分析
- 首先,它的每個(gè)圖片是等寬的
- 其次,除第一排正常顯示其余的圖片都會(huì)顯示在上一排中高度最小的那個(gè)圖片的下面
- 最后,就是根據(jù)最矮圖片所在位置的寬高來,決定絕對(duì)定位設(shè)置圖片顯示的位置
效果圖

實(shí)現(xiàn)步驟
html結(jié)構(gòu)
<div class="container"> <div class="box"> <div class="content"><img src="./image/1.jpg" alt=""></div> </div> <div class="box"> <div class="content"><img src="./image/2.jpg" alt=""></div> </div> <div class="box"> <div class="content"><img src="./image/3.jpg" alt=""></div> </div> </div> </div>
css樣式
具體就是對(duì)每個(gè)boxdiv浮動(dòng)并設(shè)置樣式
* {
padding: 0;
margin: 0;
}
.box {
position: relative;
float: left;
margin: 10px;
}
.content {
padding: 15px;
border: 1px solid #ccc;
box-shadow: 0 0 5px #ccc;
border-radius: 10px;
}
.content img {
width: 200px;
height: auto;
}
js(jquery)代碼
主要是根據(jù)一排中高度最小的寬度個(gè)高度進(jìn)行絕對(duì)定位的設(shè)置
<script>
$(function () {
//jQuery代碼
imgLocation()
function imgLocation() {
var box = $('.box')
var num = Math.floor($(window).width() / box.eq(0).width())
var boxHeights = []
box.each(function (index, value) {
var boxHeight = box.eq(index).height()
if (index < num) {
boxHeights[index] = boxHeight
} else {
var minHeight = Math.min.apply(null, boxHeights)
var minIndex = $.inArray(minHeight, boxHeights)
$(value).css({
'position': 'absolute',
'top': minHeight,
'left': box.eq(minIndex).position().left
});
boxHeights[minIndex] += box.eq(index).height()
}
})
}
})
</script>
根據(jù)鼠標(biāo)的滾動(dòng)動(dòng)態(tài)的加載圖片
案例分析
這里的動(dòng)態(tài)是主要是模仿動(dòng)態(tài)加載數(shù)據(jù)(偽動(dòng)態(tài))
- 首先,根據(jù)鼠標(biāo)滾動(dòng)的大小和界面的高度判斷是否要?jiǎng)討B(tài)加載
- 其次,就是訪問數(shù)據(jù),并動(dòng)態(tài)形成jquery數(shù)據(jù)類型
- 最后,把生成的數(shù)據(jù)追加的.container中進(jìn)行顯示
效果圖

實(shí)現(xiàn)步驟
- html和css的代碼都一樣這里就不重復(fù)寫了
- js代碼
主要是判斷什么時(shí)候新增圖片數(shù)據(jù),新增后插入到模板就行了
其中的dataImg就是模仿的假數(shù)據(jù)
var dataImg = { 'data': [{ 'src': '1.jpg' }, { 'src': '2.jpg' }, { 'src': '3.jpg' }, { 'src': '4.jpg' }] }
window.onscroll = function () {
if (scrollside()) {
$.each(dataImg.data, function (index, value) {
var html = `<div class="box">
<div class="content"><img src="./image/${value.src}" alt=""></div>
</div>`
$(html).appendTo($('.container'))
})
imgLocation()
}
}
function scrollside() {
var box = $('.box')
var lastboxHeight = box.last().get(0).offsetTop
var documentHeight = document.body.scrollHeight + 130
var scrollHeight = $(document).scrollTop()
console.log(lastboxHeight, scrollHeight, documentHeight)
return (lastboxHeight < scrollHeight + documentHeight) ? true : false
}
oxHeight, scrollHeight, documentHeight)
return (lastboxHeight < scrollHeight + documentHeight) ? true : false
}
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Jquery瀑布流插件使用介紹
- jQuery 瀑布流 浮動(dòng)布局(一)(延遲AJAX加載圖片)
- jQuery Masonry瀑布流插件使用詳解
- jQuery瀑布流插件Wookmark使用實(shí)例
- jQuery實(shí)現(xiàn)瀑布流布局詳解(PC和移動(dòng)端)
- jQuery 瀑布流 絕對(duì)定位布局(二)(延遲AJAX加載圖片)
- jQuery實(shí)現(xiàn)瀑布流布局
- jQuery.lazyload+masonry改良圖片瀑布流代碼
- jquery簡(jiǎn)單瀑布流實(shí)現(xiàn)原理及ie8下測(cè)試代碼
- jQuery向下滾動(dòng)即時(shí)加載內(nèi)容實(shí)現(xiàn)的瀑布流效果
相關(guān)文章
jQuery實(shí)現(xiàn)每隔一段時(shí)間自動(dòng)更換樣式的方法分析
這篇文章主要介紹了jQuery實(shí)現(xiàn)每隔一段時(shí)間自動(dòng)更換樣式的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)修改頁(yè)面元素屬性相關(guān)操作技巧,需要的朋友可以參考下2018-05-05
jquery.cookie.js實(shí)現(xiàn)用戶登錄保存密碼功能的方法
這篇文章主要介紹了jquery.cookie.js實(shí)現(xiàn)用戶登錄保存密碼功能的方法,結(jié)合實(shí)例形式詳細(xì)分析了jquery.cookie.js插件操作cookie實(shí)現(xiàn)保存用戶登錄信息的相關(guān)技巧,需要的朋友可以參考下2016-04-04
jQuery lazyload 的重復(fù)加載錯(cuò)誤以及修復(fù)方法
jQuery lazyload是一款延遲加載圖片的的插件,原意是按需加載,當(dāng)圖片出現(xiàn)在可視區(qū)域時(shí)進(jìn)行加載,但是官方的插件經(jīng)過firebug的檢測(cè)可知,并不能節(jié)省流量開支,反而有重復(fù)加載的現(xiàn)象。2010-11-11
基于jquery的動(dòng)態(tài)創(chuàng)建表格的插件
工作快一年了,最近學(xué)習(xí)jquery,對(duì)jquery很感興趣。第一次寫博客,有不足之處還請(qǐng)各位拍磚。2011-04-04
Jquery綁定事件(bind和live的區(qū)別介紹)
Jquery中綁定事件有三種方法click、bind、live第一種方法很好理解,其實(shí)就和普通JS的用法差不多,只是少了一個(gè)on而已第二、三種方法都是綁定事件2013-08-08
jQuery插件簡(jiǎn)單實(shí)現(xiàn)方法
這篇文章主要介紹了jQuery插件簡(jiǎn)單實(shí)現(xiàn)方法,以一個(gè)簡(jiǎn)單的樣式添加功能為例分析了jquery插件的實(shí)現(xiàn)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-07-07
jquery實(shí)現(xiàn)手風(fēng)琴效果
這篇文章主要介紹了jquery實(shí)現(xiàn)手風(fēng)琴效果,像手風(fēng)琴一樣打開,立體感效果比較強(qiáng),感興趣的小伙伴們可以參考一下2015-11-11
jQuery Ajax File Upload實(shí)例源碼
這篇文章主要為大家分享了jQuery Ajax File Upload實(shí)例源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12

