js实现的美女瀑布流效果代码

瀑布流以及回顶部的效果

*{
margin:0;
padding:0;
}
h1{
text-align:center;
height:100px;
}
body{
background-color:RGB(232,231,226);
}
.all{
margin:0 auto;
width:1000px;
}
.number{
float:left;
width:225px;
}
.content
{
margin:5px;
background-color:white;
}
img{
margin:5px;
}
.loading{
position: absolute;
width:100%;
height:40px;
display:none;
text-align:center;
background-color:RGB(189,203,207);
}
#toTop
{
position:fixed;
_position:fixed;
font-size:12px;
color:Blue;
width:15px;
text-align:center;
right:300px;
bottom:100px;
cursor:pointer;
background-color:RGB(243,247,251);
display:none;
}

window.onload = function () {
//初始参数
var reset = 0; //某些滚动条会触发三次scroll事件 用这个解决
var surplusHeight = 800; //差值
var imgWidth = "206px"; //img的宽度
var imgHeight = 0; //img的高度
var textHeight = 0; //文字高度
var showTopButtonHeight = 500;//回到顶部按钮的距离
var bigDivCount = 4;
var div1 = $("one");
var div2 = $("two");
var div3 = $("three");
var div4 = $("four");
var loading = $("loading");
var toTop = $("toTop");
//得到浏览器的名称
var browser = getBrowser();
//数据源
var imgArray = []; //img数组 也就是数据来源
var textArray = []; //img底下的文字和img对应
textArray[0] = "小花美女";
textArray[1] = "小花美女小花美女";
textArray[2] = "小花美女小花美女小花美女";
textArray[3] = "小花美女小花美女小花美女小花美女";
textArray[4] = "小花美女 小花美女";
textArray[5] = "小花美女小花小花美女";
textArray[6] = "小花美女";
textArray[7] = "小花美女小花美女";
textArray[8] = "小花美女小花美女小花美女";
textArray[9] = "小花美女小花美女小花美女小花美女小花美女";
textArray[10] = "小花美女小花美女小花美女小花美女小花美女";
textArray[11] = "小花美女小花美女小花美女小花美女小花美女小花美女";
textArray[12] = "小花美女小花美女小花美女小花美女小花美女小花美女小花美女";
textArray[13] = "小花美女小花美女小花美女小花美女小花美女小花美女小花美女小花美女";
textArray[14] = "小花美女小花美女小花美女小花美女小花美女小花美女小花美女小花美女";
textArray[15] = "小花美女小花美女小花美女小花美女小花美女小花美女小花美女小花美女";
imgArray[0] = "http://zsrimg.ikafan.com/file_images/article/201211/960bda11tw1dnw504ga3vj.jpg";
imgArray[1] = "http://zsrimg.ikafan.com/file_images/article/201211/771f735ctw1dnw5gv6dmcj.jpg";
imgArray[2] = "http://zsrimg.ikafan.com/file_images/article/201211/5d5e9605gw1dnw4o6uk3gj.jpg";
imgArray[3] = "http://zsrimg.ikafan.com/file_images/article/201211/6d9cb0b8jw1dnw5m0y5yrj.jpg";
imgArray[4] = "http://zsrimg.ikafan.com/file_images/article/201211/62dae985gw1dnzc4mwvm5j.jpg";
imgArray[5] = "http://zsrimg.ikafan.com/file_images/article/201211/8d95fb4cgw1dnzec2c6cdj.jpg";
imgArray[6] = "http://zsrimg.ikafan.com/file_images/article/201211/872bccc8jw1dnzch2aqtkj.jpg";
imgArray[7] = "http://zsrimg.ikafan.com/file_images/article/201211/5b104465tw1dnzdlozp6tj.jpg";
imgArray[8] = "http://zsrimg.ikafan.com/file_images/article/201211/6de170f6jw1dnzl7jbzidj.jpg";
imgArray[9] = "http://zsrimg.ikafan.com/file_images/article/201211/6a93dbfbgw1dnzeiu1draj.jpg";
imgArray[10] = "http://zsrimg.ikafan.com/file_images/article/201211/6ea59a74jw1dnzm0wbf7vj.jpg";
imgArray[11] = "http://zsrimg.ikafan.com/file_images/article/201211/48bf076ejw1dnzexjhl6dj.jpg";
imgArray[12] = "http://zsrimg.ikafan.com/file_images/article/201211/6da7993fjw1dnvsnesrutj.jpg";
imgArray[13] = "http://zsrimg.ikafan.com/file_images/article/201211/75914d3fgw1dnzlgn33njj.jpg";
imgArray[14] = "http://zsrimg.ikafan.com/file_images/article/201211/6a8dea72gw1dnzlwnfju0j.jpg";
imgArray[15] = "http://zsrimg.ikafan.com/file_images/article/201211/696387aagw1dnzqd829yyj.jpg";
//初始化
loadImg();
//主会场
window.onscroll = fun_scroll;
//滚动方法
function fun_scroll() {
//body的高度
var topAll = (browser == "Firefox") ? document.documentElement.scrollHeight : document.body.scrollHeight;
//卷上去的高度
var top_top = document.body.scrollTop || document.documentElement.scrollTop;
//回到顶部按钮操作
if (top_top > showTopButtonHeight)
toTop.style.display = "block";
else
toTop.style.display = "none";
//控制滚动条次数以及判断是否到达底部
if (reset == 0) {
var topAll = (browser == "Firefox") ? document.documentElement.scrollHeight : document.body.scrollHeight; //body的高度
var top_top = document.body.scrollTop || document.documentElement.scrollTop; //卷上去的高度
var result = topAll - top_top;
if (result 0) {
return "MSIE";
}
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
return "Firefox";
}
if (isSafari = navigator.userAgent.indexOf("Safari") > 0) {
return "Safari";
}
if (isCamino = navigator.userAgent.indexOf("Camino") > 0) {
return "Camino";
}
if (isMozilla = navigator.userAgent.indexOf("Gecko/") > 0) {
return "Gecko";
}
}
//回到顶部
toTop.onclick = function () {
var count = 500; //每次的距离
var speed = 200; //速度
var timer = setInterval(function () {
var top_top = document.body.scrollTop || document.documentElement.scrollTop;
var tt = top_top - count;
tt = (tt 0)
window.scrollTo(tt, tt);
else
clearInterval(timer);
}, speed)
};
}

I like TRY

△回顶部

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

(0)

相关推荐

  • 解析瀑布流布局:JS+绝对定位的实现

    绝对定位方式的瀑布流布局: 一.布局 1.包围块框的容器: 复制代码 代码如下: <div id="main">    ... ...<div> 2.一个块框: 复制代码 代码如下: <div class="pin">    <div class="box">        <img src="./images/g (1).jpg"/>    </div>

  • JS实现瀑布流布局

    本文实例为大家分享了JS实现瀑布流布局展示的具体代码,供大家参考,具体内容如下 html部分 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>瀑布流布局</title> <script src="wallpoll.js"></script> <link r

  • js实现瀑布流的一种简单方法实例分享

    下面奉上一则用JS实现瀑布流的方法,望批评. 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><

  • javascript实现瀑布流动态加载图片原理

    本文实例为大家分享了js瀑布流加载效果,动态加载图片,供大家参考,具体内容如下 鼠标滚动事件,当鼠标滚动到下边,动态加载图片. 1. HTML代码     <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>js实现瀑布流效果-动态加载图片</title> <link rel="stylesheet" href="

  • 纯js实现瀑布流布局及ajax动态新增数据

    本文用纯js代码手写一个瀑布流网页效果,初步实现一个基本的瀑布流布局,以及滚动到底部后模拟ajax数据加载新图片功能. 缺点: 1. 程序不是响应式,不能实时调整页面宽度: 2. 程序中当新增ajax模拟数据图片后,是将整个页面的所有图片都重新定位一次. 3. 程序是等所有图片加载完成后再读取图片的尺寸,实际中肯定不能这样做. 4. 实际项目中,应该由后台程序给出图片尺寸值,在js代码中直接使用图片的width属性. 本程序思路: html结构: <body> <div id="

  • js实现瀑布流的三种方式比较

    瀑布流是一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会不断加载数据块并附加至当前尾部.最早采用此布局的网站是Pinterest,逐渐在国内流行开来.国内大多数清新站基本为这类风格. 瀑布流特点: 1.琳琅满目:整版以图片为主,大小不一的图片按照一定的规律排列. 2.唯美:图片的风格以唯美的图片为主. 3.操作简单:在浏览网站的时候只需要轻轻滑动一下鼠标滚轮,一切的美妙的图片精彩便可呈现在你面前. 瀑布流布局实现方式: 1.传统多列浮动 · 各列固定宽度,并且

  • 原生JS实现响应式瀑布流布局

    原生JS实现的瀑布流布局,代码及demo代码地址:https://github.com/leozdgao/responsive_waterfall Demo:http://leozdgao.github.io/demo/responsive_waterfall/ 演示图: 核心代码: responsive_waterfall.js (function() { var Waterfall = function(opts) { var minBoxWidth; Object.defineProper

  • 纯js实现瀑布流展现照片(自动适应窗口大小)

    用瀑布流来展现照片再好不过了,下面是瀑布流(每一行的长度等于浏览器窗口的长度)的一种实现方式,也可以用css3实现,很简单,谷歌一下你就知道. 我的思路大概是一张一张的图片插入,当这一行的图片保持长宽比例不变并且高度低于250时就完成一个了循环,即这一行插入进去了. 然后进入下一个循环插入下一行.公式很简单,假设这一行当前的高度为h,则插入一张高和宽为(x,y)的图片时,满足下列关系: h' * (w / h + y / x) = w w是浏览器窗口的宽度, 则 h' = w / (w / h

  • javascript实现瀑布流加载图片原理

    讲一下大概的原理吧,还是先上图:  功能描述: 根据不同菜单的属性值分别加载不同的数据 下拉滚动条到一定位置预加载图片,滚动条拉到最底下的时候渲染html: 鼠标移到菜单,切换各个图片列表: 鼠标移到图片列表上,显示详细信息:  技术实现方案: 先梳理一下从加载到显示的流程: 1. 加载数据 2. 拼接HTML写入到页面 3. 检查刚刚写入的HTML中的img是否全部加载完成,如果是,进入5.否则进入4 4. 等待图片加载完成 5. 计算每个元素的位置 一开始的时候最头疼的是如何定位的问题,后来

  • javascript自适应宽度的瀑布流实现思路

    这样的布局并不陌生,从2011年Pinterest创立以来,中国互联网就迅速掀起了一股模仿Pinterest的热潮,国内有众多网站采用瀑布流的布局方式,例如花瓣网.美丽说等等.而事实上在中国互联网,模仿一些在国外被人看好的模式(当然,你也可以说是山寨或抄袭,呵呵!!)向来都是一个不错的idea. OK,现在进入正题.这里主要介绍瀑布流的一种实现方法:绝对定位(css)+javascript+ajax+json.简单一点如果不做滚动加载的话就是绝对定位(css)+javascript了,ajax和

随机推荐