试写瀑布流

瀑布流

瀑布流是平常网页中经常见到的一种表现形式,接下来写一种比较简单的瀑布流写法

html

css

js(index.js)

class Waterfall{
constructor(){
// 等同于构造函数部分
this.box = document.querySelectorAll(".box");
this.cont = document.querySelector(".cont");

    // 1.解决居中问题
    this.init();
}
	// 等同于构造函数的原型部分
	init(){
    // 计算一行最多放几个:向下取整(屏幕宽 / 单个宽)
    this.clientW = document.documentElement.clientWidth;
    this.maxNum = parseInt(this.clientW / this.box[0].offsetWidth)
    this.cont.style.width = this.maxNum * this.box[0].offsetWidth + "px";
}

}

new Waterfall();

ajax.js

function ajaxGet(url,cb,data){
data = data || {};
var str = “”;
for(var i in data){
str += ${i}=${data[i]}&;
}
var d = new Date();
url = url + “?” + str + “__qft=”+d.getTime();

var xhr = new XMLHttpRequest();
xhr.open("get",url,true);
xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
        cb(xhr.responseText)
    }
}
xhr.send();

}

function ajaxPost(url,callback,data){
data = data || {};
var str = “”;
for(var i in data){
str += ${i}=${data[i]}&;
}

var xhr = new XMLHttpRequest();
xhr.open("POST",url,true);
xhr.onreadystatechange = function(){
    if(xhr.readyState == 4 && xhr.status == 200){
        callback(xhr.responseText);
    }
}
xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xhr.send(str);

}

function jsonp(url,callback,data){
var str = “”;
for(var i in data){
str += ${i}=${data[i]}&;
}
url = url + “?” + str.slice(0,str.length-1);

var script = document.createElement("script");
script.src = url;
document.body.appendChild(script);

window[data[data.columnName]] = function(res){
    callback(res);
}

}

data.php

echo ‘[
{“img”:“imgs/1.jpg”},
{“img”:“imgs/2.jpg”},
{“img”:“imgs/3.jpg”},
{“img”:“imgs/4.jpg”},
{“img”:“imgs/5.jpg”},
{“img”:“imgs/6.jpg”},
{“img”:“imgs/7.jpg”},
{“img”:“imgs/8.jpg”},
{“img”:“imgs/9.jpg”},
{“img”:“imgs/10.jpg”},
]’;


##图片可以自己设计,文件构造如图
![在这里插入图片描述](https://img-blog.csdnimg.cn/20191026102644170.png)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值