CSS3實(shí)現(xiàn)瀑布流布局與無(wú)限加載圖片相冊(cè)的實(shí)例代碼
目錄
一、pic1.html頁(yè)面代碼如下:
二、模擬數(shù)據(jù)庫(kù)數(shù)據(jù)的實(shí)體類(lèi)Photoes.cs代碼如下:
三、服務(wù)器返回?cái)?shù)據(jù)給客戶(hù)端的一般處理程序Handler1.ashx代碼如下:
四、示例下載:
五、了解更多瀑布流布局的的知識(shí)
首先給大家看一下瀑布流布局與無(wú)限加載圖片相冊(cè)效果圖:

一、pic1.html頁(yè)面代碼如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>瀑布流布局與無(wú)限加載圖片相冊(cè)</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
body {
background: url(../img/bg5.jpg);
}
#items {
width: 1060px;
margin: 0 auto;
border: 1px solid lightpink;
}
.item {
border: 1px solid lightpink;
width: 200px;
color: purple;
font-size: 30px;
font-weight: bolder;
margin: 5px;
text-align: center;
opacity: 0.8;
}
img {
width: 200px;
}
</style>
</head>
<body>
<div id="items">
<p class="item"><img src="img/1.jpg" />picture-1</p>
<p class="item"><img src="img/2.jpg" />picture-2</p>
<p class="item"><img src="img/3.jpg" />picture-3</p>
<p class="item"><img src="img/4.jpg" />picture-4</p>
<p class="item"><img src="img/5.jpg" />picture-5</p>
<p class="item"><img src="img/6.jpg" />picture-6</p>
<p class="item"><img src="img/7.jpg" />picture-7</p>
<p class="item"><img src="img/8.jpg" />picture-8</p>
<p class="item"><img src="img/9.jpg" />picture-9</p>
<p class="item"><img src="img/10.jpg" />picture-10</p>
<p class="item"><img src="img/11.jpg" />picture-11</p>
<p class="item"><img src="img/12.jpg" />picture-12</p>
<p class="item"><img src="img/13.jpg" />picture-13</p>
<p class="item"><img src="img/14.jpg" />picture-14</p>
<p class="item"><img src="img/15.jpg" />picture-15</p>
<p class="item"><img src="img/16.jpg" />picture-16</p>
<p class="item"><img src="img/17.jpg" />picture-17</p>
<p class="item"><img src="img/18.jpg" />picture-18</p>
<p class="item"><img src="img/19.jpg" />picture-19</p>
<p class="item"><img src="img/20.jpg" />picture-20</p>
</div>
<a href="Handler1.ashx" id="next">下一頁(yè)</a>
<script src="js/jquery-3.1.1.js" type="text/javascript" charset="utf-8"></script>
<!--插件的引用-->
<script src="js/masonry.pkgd.min.js" type="text/javascript"></script>
<script src="js/imagesloaded.pkgd.min.js" type="text/javascript" charset="utf-8"></script>
<script src="js/jquery.infinitescroll.min.js"></script>
<script>
//此方法用來(lái)初始化圖片(圖片全部加載完成時(shí)調(diào)用)
var init = function () {
imagesLoaded(document.querySelector('#items'), function (instance) {
//此方法用來(lái)設(shè)置瀑布流布局
var msnry = new Masonry("#items", {
itemSelector: ".item",
columnWidth: 0 //列與列之間的寬度
});
//alert('所有的圖片都加載完成了');
});
}
init();
var num = 0;
//此方法是無(wú)限加載的方法
$("#items").infinitescroll({
navSelector: "#next",
nextSelector: "a#next",
itemSelector: ".item",
debug: true,
dataType: "json",
maxPage: 10,
appendCallback: false,
path: function (index) {
console.log(index);
return "Handler1.ashx?page=" + index;
}
}, function (data) {
num -= 20;
for (var i = 0; i < data.length; i++) {
$("<p class='item'><img src='img/" + (data[i].imgUrl + num) + ".jpg' />" + data[i].Name + "</p>").appendTo("#items")
console.log(data[i].imgUrl + "--" + data[i].Name);
}
init();
});
</script>
</body>
</html>
二、模擬數(shù)據(jù)庫(kù)數(shù)據(jù)的實(shí)體類(lèi)Photoes.cs代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace 瀑布流布局與無(wú)限加載圖片相冊(cè)
{
public class Photoes
{
public int imgUrl { get; set; }
public string Name { get; set; }
//模擬數(shù)據(jù)庫(kù)有兩百條數(shù)據(jù)
public static List<Photoes> GetData()
{
List<Photoes> list = new List<Photoes>();
Photoes pic = null;
for (int i= 21; i <=200; i++)
{
pic = new Photoes();
pic.imgUrl = i;
pic.Name = "Picture-" + i;
list.Add(pic);
}
return list;
}
}
}
三、服務(wù)器返回?cái)?shù)據(jù)給客戶(hù)端的一般處理程序Handler1.ashx代碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;
namespace 瀑布流布局與無(wú)限加載圖片相冊(cè)
{
/// <summary>
/// 服務(wù)器返回?cái)?shù)據(jù)給客戶(hù)端的一般處理程序
/// </summary>
public class Handler1 : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
List<Photoes> result = Photoes.GetData();
int pageIndex = Convert.ToInt32(context.Request["page"]);
var filtered = result.Where(p => p.imgUrl >= pageIndex * 20 - 19 && p.imgUrl <= pageIndex * 20).ToList();
JavaScriptSerializer ser = new JavaScriptSerializer();
string jsonData = ser.Serialize(filtered);
context.Response.Write(jsonData);
}
public bool IsReusable
{
get
{
return false;
}
}
}
}
總結(jié):前段時(shí)間學(xué)習(xí)了瀑布流布局與圖片加載等知識(shí),做了一個(gè)簡(jiǎn)單的示例,希望能鞏固一下自己所學(xué)的知識(shí)。
代碼實(shí)例:demo
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
這篇文章主要介紹了3種方式實(shí)現(xiàn)瀑布流布局小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)2019-09-05
詳解純css實(shí)現(xiàn)瀑布流(multi-column多列及flex布局)
這篇文章主要介紹了詳解純css實(shí)現(xiàn)瀑布流(multi-column多列及flex布局)的相關(guān)資料,用multi-column多列布局及flex布局實(shí)現(xiàn)瀑布流,感興趣的小伙伴們可以參考一下2018-09-04css3 column實(shí)現(xiàn)卡片瀑布流布局的示例代碼
這篇文章主要介紹了css3 column實(shí)現(xiàn)卡片瀑布流布局的示例代碼的相關(guān)資料,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-06-22- 這篇文章主要介紹了用CSS3實(shí)現(xiàn)瀑布流布局的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-11-10
瀑布流布局的兩種實(shí)現(xiàn)方式:傳統(tǒng)多列浮動(dòng)和絕對(duì)定位布局
瀑布流布局想必大家對(duì)它并不陌生吧,在一些網(wǎng)站上都會(huì)有這種效果的出現(xiàn),下面為大家介紹下使用兩種方式實(shí)現(xiàn)傳統(tǒng)多列浮動(dòng)和絕對(duì)定位布局,具體的實(shí)現(xiàn)代碼如下,感興趣的朋友2013-08-26
waterfall瀑布流布局+動(dòng)態(tài)渲染的實(shí)現(xiàn)
這篇文章主要介紹了waterfall瀑布流布局+動(dòng)態(tài)渲染的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起2021-01-19



