js瀑布流
来源:互联网 发布:方舟网络错误信息 编辑:程序博客网 时间:2024/05/21 05:18
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>瀑布流</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
#wrap{
width: 800px;
border: 1px red solid;
margin: 0 auto;
overflow: hidden;
}
#wrap ul{
width: 200px;
padding: 10px;
list-style-type: none;
font-size: 50px;
border: 1px skyblue solid;
box-sizing: border-box;
float: left;
}
#wrap ul li{
margin-bottom: 20px;
padding-left: 5px;
background-color: #ccc;
width: 180px;
}
#square{
width: 50px;
height: 50px;
background-color: #ccc;
position: fixed;
bottom: 50px;
right: 50px;
display: none;
}
</style>
</head>
<ul></ul>
<ul></ul>
<ul></ul>
<ul></ul>
</div>
<div id="square"></div>
</body>
<script src="../js/tween.js"></script>//调用的js 库 可以实现一些基本的动画效果
<script type="text/javascript">
var wrap = document.querySelector("#wrap");//获取wrap的元素名
var uls =wrap.children;//获取wrap下面的子元素
var num = 0; //计数
//随机函数
function rand(min,max){
return parseInt(Math.random()*(max-min+1)+min);
for (var i = 0; i < 20; i++) {
num++;
var newLi = document.createElement("li");//创建li标签
var h = rand(200,400);//定义一下随机的高度值
newLi.style.height = h+"px";//给每个li设置高度
newLi.innerHTML = num;//给每个li赋个数值
var arrH=[]; //定义一个数组 用来存放每次ul中li得高度
for (var j = 0; j < uls.length; j++) {
arrH.push(uls[j].offsetHeight);
}
var minHeight =arrH[0];//假设第一个il的高度最低
var minIndex = 0;//定义一个变量 用来存放最低值的下标值
for (var j = 0; j < uls.length; j++) {
if(minHeight>arrH[j]){//判断当前li是否是那组数中最低的 是的话就获取当前的下标
minHeight = arrH[j];
minIndex = j;
}
uls[minIndex].appendChild(newLi);//在高度值最小的那个元素下面输出li
}
}
}
pbl();
//当屏幕滚动的时候 出现小方框
window.onscroll = function(){
var square = document.getElementById('square');
var t = document.documentElement.scrollTop||document.
body.scrollTop;
if(t>0){
square.style.display = "block";
}else{
square.style.display = "none";
}
}
//实现点击小方框 返回顶部的效果
square.onclick = function(){
var start = document.documentElement.scrollTop||document.
body.scrollTop;
var end = 0;
var change = end-start;
var t = 0;
var d = 30;
timer = setInterval(function(){
t++;
if(t>d){
clearInterval(timer);
}
if (document.documentElement.scrollTop) {
document.documentElement.scrollTop = Tween.Back.easeIn(t,start,change,d);
}else{
document.body.scrollTop = Tween.Back.easeIn(t,start,change,d);
}
},30)
}
</script>
</html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>瀑布流</title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
#wrap{
width: 800px;
border: 1px red solid;
margin: 0 auto;
overflow: hidden;
}
#wrap ul{
width: 200px;
padding: 10px;
list-style-type: none;
font-size: 50px;
border: 1px skyblue solid;
box-sizing: border-box;
float: left;
}
#wrap ul li{
margin-bottom: 20px;
padding-left: 5px;
background-color: #ccc;
width: 180px;
}
#square{
width: 50px;
height: 50px;
background-color: #ccc;
position: fixed;
bottom: 50px;
right: 50px;
display: none;
}
</style>
</head>
<body>
<!-- 基本的HTML结构-->
<div id="wrap"><ul></ul>
<ul></ul>
<ul></ul>
<ul></ul>
</div>
<div id="square"></div>
</body>
<script src="../js/tween.js"></script>//调用的js 库 可以实现一些基本的动画效果
<script type="text/javascript">
var wrap = document.querySelector("#wrap");//获取wrap的元素名
var uls =wrap.children;//获取wrap下面的子元素
var num = 0; //计数
//随机函数
function rand(min,max){
return parseInt(Math.random()*(max-min+1)+min);
}
//将实现瀑布流功能的函数封装起来 并且在外部调用一下
function pbl(){for (var i = 0; i < 20; i++) {
num++;
var newLi = document.createElement("li");//创建li标签
var h = rand(200,400);//定义一下随机的高度值
newLi.style.height = h+"px";//给每个li设置高度
newLi.innerHTML = num;//给每个li赋个数值
var arrH=[]; //定义一个数组 用来存放每次ul中li得高度
for (var j = 0; j < uls.length; j++) {
arrH.push(uls[j].offsetHeight);
}
var minHeight =arrH[0];//假设第一个il的高度最低
var minIndex = 0;//定义一个变量 用来存放最低值的下标值
for (var j = 0; j < uls.length; j++) {
if(minHeight>arrH[j]){//判断当前li是否是那组数中最低的 是的话就获取当前的下标
minHeight = arrH[j];
minIndex = j;
}
uls[minIndex].appendChild(newLi);//在高度值最小的那个元素下面输出li
}
}
}
pbl();
//当屏幕滚动的时候 出现小方框
window.onscroll = function(){
var square = document.getElementById('square');
var t = document.documentElement.scrollTop||document.
body.scrollTop;
if(t>0){
square.style.display = "block";
}else{
square.style.display = "none";
}
}
//实现点击小方框 返回顶部的效果
square.onclick = function(){
var start = document.documentElement.scrollTop||document.
body.scrollTop;
var end = 0;
var change = end-start;
var t = 0;
var d = 30;
timer = setInterval(function(){
t++;
if(t>d){
clearInterval(timer);
}
if (document.documentElement.scrollTop) {
document.documentElement.scrollTop = Tween.Back.easeIn(t,start,change,d);
}else{
document.body.scrollTop = Tween.Back.easeIn(t,start,change,d);
}
},30)
}
</script>
</html>
0 0
- js实现瀑布流
- js 瀑布流
- js 瀑布流
- js实现瀑布流
- JS瀑布流
- JS原生瀑布流
- JS 实现瀑布流
- JS实现瀑布流
- js 瀑布流效果
- js瀑布流
- js瀑布流
- JS 实现瀑布流
- JS实现瀑布流
- js瀑布流
- JS 瀑布流效果
- js瀑布流
- js瀑布流
- js原生瀑布流
- JavaWeb(2)——Ubuntu上Tomcat,MySQL安装
- find命令详解
- linux进程间通信之共享内存
- FragmentPagerAdapter的用法
- 如何优雅地使用win10的Linux子系统
- js瀑布流
- Android 用socket实现客户端发送消息,服务端显示消息
- google搜索避免跳转到google hk
- mysql使用关键字作为列名的处理方式
- SQL HAVING 子句
- java系统高并发解决方案(综合转载)
- keil gcc如何重定向pritnf函数,并将调试信息输出到keil的debug viewer
- 面试算法高频题:给定N个数的间距最大值
- oracle触发器学习