mysql实现瀑布流_CSS3实现瀑布流布局与无限加载图片相册的实例代码

目录

一、pic1.html页面代码如下:

二、模拟数据库数据的实体类Photoes.cs代码如下:

三、服务器返回数据给客户端的一般处理程序Handler1.ashx代码如下:

四、示例下载:

五、了解更多瀑布流布局的的知识

首先给大家看一下瀑布流布局与无限加载图片相册效果图:

66455f295964c695c9af900370730b45.gif

一、pic1.html页面代码如下:

瀑布流布局与无限加载图片相册

* {

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;

}

1.jpgpicture-1

2.jpgpicture-2

3.jpgpicture-3

4.jpgpicture-4

5.jpgpicture-5

6.jpgpicture-6

7.jpgpicture-7

8.jpgpicture-8

9.jpgpicture-9

10.jpgpicture-10

11.jpgpicture-11

12.jpgpicture-12

13.jpgpicture-13

14.jpgpicture-14

15.jpgpicture-15

16.jpgpicture-16

17.jpgpicture-17

18.jpgpicture-18

19.jpgpicture-19

20.jpgpicture-20

//此方法用来初始化图片(图片全部加载完成时调用)

var init = function () {

imagesLoaded(document.querySelector('#items'), function (instance) {

//此方法用来设置瀑布流布局

var msnry = new Masonry("#items", {

itemSelector: ".item",

columnWidth: 0 //列与列之间的宽度

});

//alert('所有的图片都加载完成了');

});

}

init();

var num = 0;

//此方法是无限加载的方法

$("#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++) {

$("

%22%20+%20(data%5Bi%5D.imgUrl%20+%20num)%20+%20%22.jpg" + data[i].Name + "

").appendTo("#items")

console.log(data[i].imgUrl + "--" + data[i].Name);

}

init();

});

二、模拟数据库数据的实体类Photoes.cs代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

namespace 瀑布流布局与无限加载图片相册

{

public class Photoes

{

public int imgUrl { get; set; }

public string Name { get; set; }

//模拟数据库有两百条数据

public static List GetData()

{

List list = new List();

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;

}

}

}

三、服务器返回数据给客户端的一般处理程序Handler1.ashx代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.Script.Serialization;

namespace 瀑布流布局与无限加载图片相册

{

///

/// 服务器返回数据给客户端的一般处理程序

///

public class Handler1 : IHttpHandler

{

public void ProcessRequest(HttpContext context)

{

context.Response.ContentType = "text/plain";

List 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;

}

}

}

}

总结:前段时间学习了瀑布流布局与图片加载等知识,做了一个简单的示例,希望能巩固一下自己所学的知识。

代码实例:demo

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值