恩,语言组织不是很好,直接上代码吧。。。。
<!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

最新文章

  1. IOS真机测试(用证书进行真机测试)
  2. MVC 中使用EF
  3. MonogoDB的GirdFS
  4. javaWeb中的/路径问题
  5. Exists与In效率分析
  6. About javascript language
  7. php Socket基础
  8. struts2 JS获取上传文件的绝对路径,兼容IE和FF
  9. 当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法(转)
  10. javascript 局部变量和全局变量
  11. MySQL 如何存储长度较大的varchar与blob
  12. 《java入门第一季》之Calendar类小案例获取任意二月天数
  13. DB2 数据库的安装配置及监控
  14. CentOS6.5中部署java web环境
  15. LG3834 可持久化线段树1
  16. Django将默认的SQLite更换为MySQL
  17. ubuntu下好用的音乐播放器audacious
  18. spring动态数据源+事务
  19. Cecos国内集成系统基于rhel6.5
  20. Android TableLayout中的使用说明

热门文章

  1. 【12】react 之 redux(1)
  2. 【06】Vue 之 组件化开发
  3. .Net Framework 4.0: Using System.Lazy&lt;T&gt;
  4. 高级参数绑定(数组和List绑定)
  5. usb 2.0 operation mode
  6. Ubuntu FireFox的“后退”按钮与Backspace键
  7. python-urllib/urllib2模块
  8. Longest Increasing Subsequence - LeetCode
  9. 某考试 T1 fair (18.5.1版)
  10. 【转】【Stackoverflow好问题】去掉烦人的“!=null&quot;(判空语句)