img src 文件流_JQuery实现瀑布流

本文介绍如何使用HTML、CSS和jQuery实现瀑布流布局效果,并通过自动加载图片的方式使页面随滚动更新内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

f18bacbdd7f62f473410a0ead8442f81.png

这里需要jquery-2.1.1.min.js文件,请自行下载,图片请自行下载

首先,创建一个.html文件

写它的样式:style.css,创建一个css文件夹,把这个css样式放入到此文件夹里面*{margin: 0;padding: 0;}.box{position: relative;float: left;}.content{padding: 10px;border: 1px solid #ccc;box-shadow: 0 0 5px #ccc;/*添加边框阴影*/border-radius: 5px;/*圆角边框为5像素*/
90fc63d20b50fda9ccb1e133a7b3d56b.png

目前是这种效果,这里就需要考虑,怎么让第二行的第一个图片接着第一行里面图片高度最小的图片下面
创建一个app.js文件

$(function(){$(window).on("load", function () {imgLocation();});});function imgLocation(){var box=$(".box");var boxWidth=box.eq(0).width();//获取图片的宽度var num= Math.floor($(window).width()/boxWidth);//确定一排能摆放几个var boxArry=[];//存储所有box的高度box.each(function(index,value){var boxHeight=box.eq(index).height();//盒子的高度if(index

现在实现瀑布流的效果了

ce898d418a1d0da35cd4585755219d9e.png

接下来就要实现滚动跳下来,实现自动加载图片的效果
如下是完整的app.js 内容:

$(function(){$(window).on("load", function () {imgLocation();var dataImg={"data":[{"src":"1.jpg"},{"src":"2.jpg"},{"src":"3.jpg"},{"src":"4.jpg"},{"src":"5.jpg"},{"src":"6.jpg"},{"src":"7.jpg"},{"src":"8.jpg"},{"src":"9.jpg"},{"src":"10.jpg"}]};window.onscroll=function(){if(scollside()){$.each(dataImg.data,function(index,value){//动态创建div//动态创建内容div//动态创建img,将src动态解析添加到内容层里面var box=$("
").addClass("box").appendTo($("#container"));var content=$("
").addClass("content").appendTo(box);$("").attr("src","./img/"+$(value).attr("src")).appendTo(content);});imgLocation();//再次调用一下瀑布流效果,不然不会出现瀑布流效果}};});});function scollside(){var box=$(".box");/*box.last().get(0).offsetTop 盒子最后一个对象距顶端的距离*//*Math.floor(box.last().height/2) 最后图片的高度的一半*/var lastboxHeigh=box.last().get(0).offsetTop+Math.floor(box.last().height()/2);var documentHeight=$(document).width();//当前容器的高度var scollHeight=$(window).scrollTop();//return (lastboxHeigh

说明一下,我这里的图片都经过处理宽度设置成了一样,如果没有设置的话,那么在css样式里面还要设置宽度固定,高度自适应即可!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值