网络编程 发布日期:2025/11/13 浏览次数:1
本文实例讲述了jQuery实现的瀑布流加载效果。分享给大家供大家参考,具体如下:
demo.js:
$(function(){
$('img').load(function(){
var box = $('.box');
var boxHeight = {
leftBox:[],
centerBox:[],
rightBox:[]
}
for(var i=0;i<box.length;i++){
var now = i%3; //now的值为0,1,2
switch(now){
case 0:
box.eq(i).css('left','10px');
boxHeight.leftBox.push(box.eq(i).height());
var now2 = Math.floor(i/3);
if(now2==0){
box.eq(i).css('top',0);
}else{
var total = 0;
for(var j=0;j<now2;j++){
total += boxHeight.leftBox[j]+10;
}
box.eq(i).css('top',total+'px')
}
break;
case 1:
box.eq(i).css('left','270px');
boxHeight.centerBox.push(box.eq(i).height());
var now2 = Math.floor(i/3);
if(now2==0){
box.eq(i).css('top',0);
}else{
var total = 0;
for(var j=0;j<now2;j++){
total += boxHeight.centerBox[j]+10;
}
box.eq(i).css('top',total+'px')
}
break;
case 2:
box.eq(i).css('left','530px');
boxHeight.rightBox.push(box.eq(i).height());
var now2 = Math.floor(i/3);
if(now2==0){
box.eq(i).css('top',0);
}else{
var total = 0;
for(var j=0;j<now2;j++){
total += boxHeight.rightBox[j]+10;
}
box.eq(i).css('top',total+'px')
}
break;
}
}
});
});
demo.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>waterFall</title>
<style>
*{
padding: 0;
margin: 0;
}
.wrap{
position: relative;
}
.box{
position: absolute;
left: 0;
top: 0;
width: 250px;
}
.box img{
width: 250px;
}
</style>
<script src="/UploadFiles/2021-04-02/jquery.js">
效果图如下:
更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery扩展技巧总结》、《jQuery常用插件及用法总结》、《jQuery拖拽特效与技巧总结》、《jQuery表格(table)操作技巧汇总》、《jquery中Ajax用法总结》、《jQuery常见经典特效汇总》、《jQuery动画与特效用法总结》及《jquery选择器用法总结》
希望本文所述对大家jQuery程序设计有所帮助。