最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:懂视网 责编:小采 时间:2020-11-27 20:24:47
文档

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

CSS3实现瀑布流布局与无限加载图片相册:目录一、pic1.html页面代码如下:二、模拟数据库数据的实体类Photoes.cs代码如下:三、服务器返回数据给客户端的一般处理程序Handler1.ashx代码如下:四、示例下载:五、了解更多瀑布流布局的的知识首先给大家看一下瀑布流布局与无限加载图片相册效果图:一、
推荐度:
导读CSS3实现瀑布流布局与无限加载图片相册:目录一、pic1.html页面代码如下:二、模拟数据库数据的实体类Photoes.cs代码如下:三、服务器返回数据给客户端的一般处理程序Handler1.ashx代码如下:四、示例下载:五、了解更多瀑布流布局的的知识首先给大家看一下瀑布流布局与无限加载图片相册效果图:一、
目录

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

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

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

四、示例下载:

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

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

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

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

<!DOCTYPE html>
<html>
<head>
 <meta charset="UTF-8">
 <title>瀑布流布局与无限加载图片相册</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>
 <p 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>
 </p>
 <a href="Handler1.ashx" id="next">下一页</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>
 //此方法用来初始化图片(图片全部加载完成时调用)
 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++) {
 $("<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>

二、模拟数据库数据的实体类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<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;
 }
 }
}

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

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Script.Serialization;

namespace 瀑布流布局与无限加载图片相册
{
 /// <summary>
 /// 服务器返回数据给客户端的一般处理程序
 /// </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;
 }
 }
 }
}

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

文档

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

CSS3实现瀑布流布局与无限加载图片相册:目录一、pic1.html页面代码如下:二、模拟数据库数据的实体类Photoes.cs代码如下:三、服务器返回数据给客户端的一般处理程序Handler1.ashx代码如下:四、示例下载:五、了解更多瀑布流布局的的知识首先给大家看一下瀑布流布局与无限加载图片相册效果图:一、
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top