首页 > 其他分享 >JQ 瀑布流

JQ 瀑布流

时间:2023-06-26 19:34:47浏览次数:42  
标签:box function img demo JQ width 瀑布 var


demo.css

*{
	padding: 0;
	margin: 0;
}
.wrap{
	position: relative;
}
.box{
	position: absolute;
	left: 0;
	top: 0;
	width: 250px;
}
.box img{
	width: 250px;
}

 

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>
<link rel="stylesheet" href="demo.css">
<script src="jquery.js"></script>
<script src="demo.js"></script>
</head>
<body>
<div class="wrap">
	<div class="box">
		<img src="1.jpg" alt="">
		<p>1111111</p>
	</div>
	<div class="box">
		<img src="2.jpg" alt="">
		<p>22222222</p>
	</div>
	<div class="box">
		<img src="3.jpg" alt="">
		<p>33333333</p>
	</div>
	<div class="box">
		<img src="4.jpg" alt="">
		<p>4444444</p>
	</div>
	<div class="box">
		<img src="5.jpg" alt="">
		<p>55555555</p>
	</div>
	<div class="box">
		<img src="6.jpg" alt="">
		<p>666666666666</p>
	</div>
	<div class="box">
		<img src="7.jpg" alt="">
		<p>77777777</p>
	</div>
	<div class="box">
		<img src="8.jpg" alt="">
		<p>888888888888888</p>
	</div>
	<div class="box">
		<img src="9.jpg" alt="">
		<p>99999999999999</p>
	</div>
</div>
</body>
</html>

 

效果图:

JQ 瀑布流_javascript


 

 

 

标签:box,function,img,demo,JQ,width,瀑布,var
From: https://blog.51cto.com/u_16171388/6557089

相关文章

  • JQ 可展开折叠的导航
    <!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><title>Document</title><style>*{padding:0;margin:0;}li{list-style-type:none;}body{margin:50px;font-family:\5FAE\8F6......
  • JQ 拖拽
    <!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><title>拖拽</title><style>*{ padding:0; margin:0;}div{ width:100px; height:100px; background:#f00; cursor:pointer; ......
  • JQ 放大镜
    zoom.css*{ padding:0; margin:0;}li{ list-style-type:none;}.zoom{ margin:50px; position:relative;}.zoomMiddle{ border:1pxsolid#ccc; width:300px; height:300px; margin-bottom:3px; position:relative;}.zoomMiddleimg{ width:300p......
  • JQ 表格内容过滤
    <html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><linkrel="stylesheet"type="text/css"href="css/style.css"/><sc......
  • JQ 可见性过滤选择器
    <html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><title></title><!--引入jQuery--><scriptsrc="js/jquery-1.10.1.min.js"type="text/javascript&q......
  • JQ 隔行变色
    <html><head><title></title><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><scripttype="text/javascript">window.onload=function(){//页面所有元素加载完毕 varitem=do......
  • jQuery源码浅谈系列---$.attr()
    attr()   1、attr(name)     取得第一个匹配元素的属性值。如果元素没有相应的属性,则返回undefined。  2、attr(properties)     将一个"名/值"形式的对象设置为所有匹配元素的属性。    注:要设置class属性,必须用'className'作为属性名。     举例:......
  • jquery.pngFix
    jquery.pngFix.js应该还出现在部分系统和一些网站上,简单介绍一下吧。 ----------------解决IE6下不支持png图片透明效果 整理了一下网上的一些插件的缺点: 有png作为背景且背景宽高和标签宽高不一致的时候会发生拉伸。配套版本的支持情况1.3.2-------1.5起不兼容。   扩展......
  • JQuery中的each()方法和$.each()函数的使用
    1、元素(对象).each()方法的使用JQuery提供了each()方法用于遍历匹配的元素信息。以每一个匹配的元素作为上下文来执行一个函数。每次执行传递进来的函数时,函数中的this关键字都指向一个不同的DOM元素(每次都是一个不同的匹配元素)。而且,在每次执行函数时,都会给函数传递一个表......
  • 【雕爷学编程】Arduino动手做(119)---JQ6500语音模块
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......