我们先思考一下,我们要做一个鼠标滚轮事件,那我们是不是要绑定页面的宽高,这样就会变得很麻烦,所以这里推荐一个fullpage插件
fullpage.js是一个基于jQuery的插件,他能帮助你轻松方便的制作出全屏网站
github 官网 https://github.com/alvarotrigo/fullPage.js
中文演示地址 http://www.dowebok.com/demo/2014/77/
主要功能有:
支持鼠标滚动
支持前进后退和键盘控制
支持回调函数
支持手机、平板触发事件
支持css3动画
支持窗口缩放
窗口缩放时自动调整
可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等
如何使用
1.要引入相关的文件,要注意fullpage是依赖与jquery的所以我们应该先引入jquery在引入fullpage
2.写html骨架(div#fullpage>div.section(这是每一屏的,如果有多屏那么我们就要多放及格div.section))
3.写自定义的js内容,调用fullpage方法
选项 | 类型 | 默认值 | 说明 |
---|---|---|---|
verticalCentered | 字符串 | true | 内容是否垂直居中 |
resize | 布尔值 | false | 字体是否随着窗口缩放而缩放 |
sectionColor | 函数 | 无 | 设置背景颜色 |
anchors | 数组 | 无 | 定义锚链接 |
scrollingSpeed | 整数 | 700 | 滚动速度,单位为毫秒 |
easing | 字符串 | easeInQuart | 滚动动画方式 |
menu | 布尔值 | false | 绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动 |
navigation | 布尔值 | false | 是否显示项目导航 |
navigationPosition | 字符串 | right | 项目导航的位置,可选 left 或 right |
navigationTooltips | 数组 | 空 | 项目导航的 tip |
slidesNavigation | 布尔值 | false | 是否显示左右滑块的项目导航 |
slidesNavPosition | 字符串 | bottom | 左右滑块的项目导航的位置,可选 top 或 bottom |
controlArrowColor | 字符串 | #fff | 左右滑块的箭头的背景颜色 |
loopBottom | 布尔值 | false | 滚动到最底部后是否滚回顶部 |
loopTop | 布尔值 | false | 滚动到最顶部后是否滚底部 |
loopHorizontal | 布尔值 | true | 左右滑块是否循环滑动 |
autoScrolling | 布尔值 | true | 是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条 |
scrollOverflow | 布尔值 | fasle | 内容超过满屏后是否显示滚动条 |
css3 | 布尔值 | false | 是否使用 CSS3 transforms 滚动 |
paddingTop | 字符串 | 0 | 与顶部的距离 |
paddingBottom | 字符串 | 0 | 与底部距离 |
fixedElements | 字符串 | 无 | |
normalScrollElements | 无 | ||
keyboardScrolling | 布尔值 | true | 是否使用键盘方向键导航 |
touchSensitivity | 整数 | 5 | |
continuousVertical | 布尔值 | false | 是否循环滚动,与 loopTop 及 loopBottom 不兼容 |
animateAnchor | 布尔值 | true | |
normalScrollElementTouchThreshold | 整数 | 5 |
fullpage.js方法
注意方法的使用时要添加:
$.fn.fullpage 例如: $.fn.fullpage.moveTo(1);
jquery Easing.js插件
介绍:easing是jquery的一个插件,使用它可以创建更加绚丽的动画效果。
环境:因为easing是jQuery的插件,所以必须是在引入jquery之后再引入它,所以我们引入的顺序是jquery>easing>fullpage
如果只想要简单的写法就用
$(".car").animate({"left": "150%"}, 4000, "easeInElastic", function() {});
easing:格式为json,{duration:持续时间,easing:过渡效果,complete:成功后的回调函数}
$(element).animate({
height:500,
width:600
},{
easing: 'easeInOutQuad',
duration: 500,
complete: function(){}
});