恩,语言组织不是很好,直接上代码吧。。。。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
html,body{
padding: 0;
margin:0;
width: 100%;
height: 100%;
overflow:hidden;
}
.main{
position:absolute;
width:400%;
height: 100%;
}
.cont{ width: 100%;
height:100%; }
.cont.cont-1{
width: 25%;
background-color: aquamarine;
}
.cont.cont-2{
width: 25%;
background-color:blueviolet;
}
.cont.cont-3{
width: 25%;
background-color:salmon;
}
.cont.cont-4{
width: 25%;
background-color: darkorange;
}
</style>
</head>
<body>
<div class="main sweel">
<div class="cont cont-1">1</div>
<div class="cont cont-2">2</div>
<div class="cont cont-3">3</div>
<div class="cont cont-4">4</div>
<div class="cont cont-1">5</div>
</div> <script src="jquery-1.11.3.min.js"></script>
<script src="sweel.js"></script>
<script>
$(function () { var def={
color:"green",
opacity:0.8
}
// var c =new Sweel($(".sweel"),def);
Sweel.int($(".sweel"),def);
}); </script>
</body>
</html>

  sweel.js  JS部分:

/**
* Created by Administrator on 2015/7/9.
*/
;(function($){
var gol=0;//存放当前滚动页,用于resize()事件调用 var Sweel= function (res,def) { this.def={//默认配置 自行扩展
color:"red", //颜色
opacity:0.8 //透明度
} //这里并没有判断def为空或者未定义(实际上需要)
this.def= $.extend(this.def,def)
this.colo= this.def.color;
this.opac= this.def.opacity;
this.setVal($(res).find(".cont-1"));
this.addEvent(res,$(res).children().size());
this.reSize( res);
}; Sweel.prototype={
//监听屏幕大小改变 reSize: function (page) {
$(window).bind('resize', function() {
$(page).css({"top":-(document.body.clientHeight)*(gol)}); })
},
//根据参数设置相关
setVal:function(res){ $(res).css({"background-color":this.colo,"opacity":this.opac}) },
//监听滚轮
addEvent: function (res,size) {
var type;//
type= navigator.userAgent.indexOf("Firefox")<0?"mousewheel":"DOMMouseScroll";//区分火狐 var count=0; //滚动次数
var page=res; //当前dom
var a2=0; //当前动位置在第几页 res.addEventListener(type, function (e) {//绑定事件===滚轮事件监听
count++;
var delta = (e.wheelDelta) ? e.wheelDelta / 120 : -(e.detail || 0) / 3;//delta>0上翻滚相反下翻滚
if(delta>0&&count%4==0){
a2--;
if(a2<0){
a2=0;
}
gol=a2;
$(page).animate({"top":-(document.body.clientHeight)*(a2)}, 1000);//动画过度效果
}
if(delta<0&&count%4==0){
a2++;
if(a2>=size){a2=size-1}
gol=a2;
$(page).animate({"top":-(document.body.clientHeight)*(a2)}, 1000);
} },false); }
}; Sweel.int= function (obj,deft) {//初始化函数 obj.each(function(i){
new Sweel(this,deft);//实例化对象
}); }
window["Sweel"]=Sweel;//全局注册
})(jQuery)

DEMO地址:  http://runjs.cn/detail/zinwycyz

Html简单的整页切换的更多相关文章

  1. ionic 最简单的路由形式,头部固定,下面tab切换-------一个简单的单页切换起飞了

    <ion-header-bar class="bar-dark" align-title="left"> <h1 class="ti ...

  2. Android之ActionBar、Tabs、Fragment、ViewPager实现标签页切换并缓存页面

    感觉 Android 到处都是坑,每个地方都要把人折腾半天. 今天来简单说说 Android之ActionBar.Tabs.Fragment.ViewPager 实现标签页切换并缓存页面 关于他们的介 ...

  3. simple-spa 一个简单的单页应用实例

    上两篇文章说过要写一个简单的单页应用例子的, 迟迟没有兑诺, 实在有愧 哈哈.这篇写给小白用户哈. 正好趁今天风和日丽,事情不多, 把从项目里的代码扣取了一下, 整理了一个简单的例子.因为我们生产项目 ...

  4. 用Loading 加载中的整页加载来做蒙层

    总结:遇见的bug 如何写一个蒙层 最初我打算的是自己写一个蒙层,但是写出来后, 不能够将整个屏幕全部覆盖.只能够覆盖 除[顶部导航] 和[左侧菜单栏] 于是我就使用了element-ui中的 [Lo ...

  5. (java)selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出

    selenium webdriver学习---实现简单的翻页,将页面内容的标题和标题链接取出: 该情况适合能能循环page=1~n,并且每个网页随着循环可以打开的情况, 注意一定是自己拼接的url可以 ...

  6. C#使用phantomjs 进行网页整页截屏

    C#使用phantomjs 进行网页整页截屏 hantomjs 是一个基于js的webkit内核无头浏览器 也就是没有显示界面的浏览器,这样访问网页就省去了浏览器的界面绘制所消耗的系统资源,比较适合用 ...

  7. jquery实现tab页切换显示div

    1.jQuery实现tab切换显示代码实现 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" &q ...

  8. chrome比较好用的网站整页(超长网页)截图插件

    chrome比较好用的网站整页(超长网页)截图插件:fireshot capture 试用过比较好用

  9. 一款基于css3的3D图片翻页切换特效

    今天给大家分享一款基于css3的3D图片翻页切换特效.单击图片下方的滑块会切换上方的图片.动起你的鼠标试试吧,效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id= ...

随机推荐

  1. 一个javascript继承和使用的例子

    继承可以帮助我们实现代码的重用,把对象的属性写入构造函数,对象的方法写入原型后,以下例子演示继承的使用: 示例的css和js在后 父实例,得到一个间隔1s的轮播: <!DOCTYPE html& ...

  2. react自定义组件属性类型检测

    react当中的props-type用来检测传入组件当中的数据是否符合组件的要求,但是之前的只是能做些简单常规的判断,如果需要做复杂的判断,就需要使用到自定义函数来做类型检测了. 下面是官网的例子 c ...

  3. 微信小程序 报警告的解决办法

    wx:for   如果没有给它相应的  wx:key 控制台就会有警告,解决的办法给它添加相应的key警告就消失啦

  4. pat 甲级 1010. Radix (25)

    1010. Radix (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue Given a pair of ...

  5. SQL只获取字段中的中文字符

    原文发布时间为:2010-10-28 -- 来源于本人的百度文章 [由搬家工具导入] 新建标量函数 set ANSI_NULLS ONset QUOTED_IDENTIFIER ONGOALTER f ...

  6. Docker(六):容器

    一.启动容器 启动容器有两种方式,一种是基于镜像新建一个容器并启动,另一个是将一个在终止状态的容器重新启动,因为Docker的容器实在是太轻量了,很多用户都可以随时删除和新创建容器. 新建并启动 $s ...

  7. 组合模式Composite Pattern(转)

    什么是组合模式呢?简单来说组合模式就是将对象合成树形结构以表示“部分整体”的层次结构,组合模式使用户对单个对象和组合对象使用具有一致性. 组合模式(Composite Pattern)有时候又叫部分- ...

  8. 移动GIS技术在城市信息采集中的应用

    1 引言 随着移动平板电脑和手机(以下简称移动终端)在软硬件上的更新换代,和3G.4G通讯网络的升级,传统测绘和和数据服务方式正在发生巨大变化.以城市中的外业踏勘和信息采集为例,移动终端正成为主要的外 ...

  9. LVS高可用集群的配置

    网络结构: LVS DR工作原理 LVS集群从客户端上看可以将整个集群看成单个服务器对外提供服务,其IP是集群内部的VIP(虚拟IP).从内部看,转发服务器(DS)其实并没有启动应用层的服务对接口进行 ...

  10. UOJ 外星人

    题目: 2044年,Picks建成了人类第一台基于量子理论的银河系信息传递机.Picks游遍了宇宙,雇用了n个外星人来帮他作为信息传递机的中转站.我们将外星人依次编号为1 到n,其中i 号外星人有ai ...