Jquery 全屏滚动插件

简介

fullPage.js是一个基于jQuery的全屏滚动插件,它能够很方便、很轻松的制作出全屏网站。

主要功能

  • 支持鼠标滚动
  • 支持前进后退和键盘控制
  • 多个回调函数
  • 支持手机、平板触摸事件
  • 支持 CSS3 动画
  • 支持窗口缩放
  • 窗口缩放时自动调整
  • 可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等等

兼容性

fullPage.js 支持 IE8+ 及其他现代浏览器。

配置

1、选项

选项类型默认值说明
verticalCentered字符串true内容是否垂直居中
resize布尔值false字体是否随着窗口缩放而缩放
slidesColor函数设置背景颜色
anchors数组定义锚链接
scrollingSpeed整数700滚动速度,单位为毫秒
easing字符串easeInQuart滚动动画方式
menu布尔值false绑定菜单,设定的相关属性与 anchors 的值对应后,菜单可以控制滚动
navigation布尔值false是否显示项目导航
navigationPosition字符串right项目导航的位置,可选 left 或 right
navigationColor字符串#000项目导航的颜色
navigationTooltips数组项目导航的 tip
slidesNavigation布尔值false是否显示左右滑块的项目导航
slidesNavPosition字符串bottom左右滑块的项目导航的位置,可选 top 或 bottom
controlArrowColor字符串#fff左右滑块的箭头的背景颜色
loopBottom布尔值false滚动到最底部后是否滚回顶部
loopTop布尔值false滚动到最顶部后是否滚底部
loopHorizontal布尔值true左右滑块是否循环滑动
autoScrolling布尔值true是否使用插件的滚动方式,如果选择 false,则会出现浏览器自带的滚动条
scrollOverflow布尔值false内容超过满屏后是否显示滚动条
css3布尔值false是否使用 CSS3 transforms 滚动
paddingTop字符串0与顶部的距离
paddingBottom字符串0与底部距离
fixedElements字符串 
normalScrollElements  
keyboardScrolling布尔值true是否使用键盘方向键导航
touchSensitivity整数5 
continuousVertical布尔值false是否循环滚动,与 loopTop 及 loopBottom 不兼容
animateAnchor布尔值true 
normalScrollElementTouchThreshold整数5 

2、方法

名称说明
moveSectionUp()向上滚动
moveSectionDown()向下滚动
moveTo(section, slide)滚动到
moveSlideRight()slide 向右滚动
moveSlideLeft()slide 向左滚动
setAutoScrolling()设置页面滚动方式,设置为 true 时自动滚动
setAllowScrolling()添加或删除鼠标滚轮/触控板控制
setKeyboardScrolling()添加或删除键盘方向键控制
setScrollingSpeed()定义以毫秒为单位的滚动速度

3、回调函数

名称说明
afterLoad滚动到某一屏后的回调函数,接收 anchorLink 和 index 两个参数,anchorLink 是锚链接的名称,index 是序号,从1开始计算
onLeave滚动前的回调函数,接收 index、nextIndex 和 direction 3个参数:
index 是离开的“页面”的序号,从1开始计算;
nextIndex 是滚动到的“页面”的序号,从1开始计算;
direction 判断往上滚动还是往下滚动,值是 up 或 down。
afterRender页面结构生成后的回调函数,或者说页面初始化完成后的回调函数
afterSlideLoad滚动到某一水平滑块后的回调函数,与 afterLoad 类似,接收 anchorLink、index、slideIndex、direction 4个参数
onSlideLeave某一水平滑块滚动前的回调函数,与 onLeave 类似,接收 anchorLink、index、slideIndex、direction 4个参数



本人写的小例子附上:

<html>
<head>
	<title>FullPage.js 功能小测试</title>
<link href="//cdn.bootcss.com/fullPage.js/2.7.8/jquery.fullPage.css" rel="stylesheet">
<script src="//cdn.bootcss.com/jquery/2.1.1/jquery.js"></script>
<script src="//cdn.bootcss.com/fullPage.js/2.7.8/jquery.fullPage.js"></script>
<style type="text/css">
body {
	color: #FFFFFF;
	font-size: 26px;
	font-weight: 800;
}

.section {
	text-align: center;
	font: 50px "Microsoft Yahei";
	color: #fff;
}

.section p {
	position: relative;
	display:none
}

#menu {
    left: 10px;
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: fixed;
    top: 150px;
    z-index: 70;
}

#menu li {
    width:200px;
    font-size: 14px;
    margin: 15px 0;
	padding:20px 0;
}

#menu .active a {
    background-color: #333;
    color: #fff;
}
#menu a {
    background-color: #fff;
    color: #333;
    float: left;
    padding: 10px 20px;
    text-decoration: none;
}
</style>
</head>
<body>
<ul id="menu">
    <li data-menuanchor="page1" class="active"><a href="#page1">第一页</a></li>
    <li data-menuanchor="page2"><a href="#page2">第二页</a></li>
    <li data-menuanchor="page3"><a href="#page3">第三页</a></li>
    <li data-menuanchor="page4"><a href="#page4">第四页</a></li>
</ul>
<div id="fullpage">
    <div class="section" data-anchor="page1">
    	<h3>第一屏</h3>
    	<p>这是FullPage.js 第一屏简介</p>
    </div>
    <div class="section" data-anchor="page2">
    	<h3>第二屏</h3>
    	<p>这是FullPage.js 第二屏简介</p>
    </div>
    <div class="section" data-anchor="page3">
        <div class="slide">第三屏的第一屏</div>
        <div class="slide">第三屏的第二屏</div>
        <div class="slide">第三屏的第三屏</div>
        <div class="slide">第三屏的第四屏</div>
    </div>
    <div class="section" data-anchor="page4">
    	<h3>第四屏</h3>
    	<p>这是FullPage.js 第四屏简介</p>
    </div>
</div>

</body>
</html>

js 部分:

$(function(){
    $('#fullpage').fullpage({
    	
    	sectionsColor: ['#1bbc9b', '#4BBFC3', '#7BAABE', '#f90'],//设置背景颜色
    	verticalCentered: true,								//设置section中的内容是否垂直居中
    	resize:			  true,								//字体是否随着窗口缩放而缩放
    	scrollingSpeed: '700',								//滚动的毫秒数
    	easing: 'easeInOutBounce',							//滑动动画      http://jqueryui.com/easing/
    	
    	anchors:[ 'page1', 'page2' , 'page3', 'page4' ],
    	menu: '#menu',										//加超链接跳到对应的 section
    	
    	navigation: false,									//上下滑块
    	navigationPosition: 'left',							//上下滑块的项目导航位置
        showActiveTooltip:	false,							//是否显示上下滑块的项目导航 title
    	navigationTooltips: [ '1', '2', '3', '4' ],			//上下滑块的项目导航  title
    	
        slidesNavigation: 	true,							//是否显示左右滑块的项目导航
        slidesNavPosition: 'bottom',						//左右滑块的项目导航的位置,可选 top 或 bottom
        controlArrowColor: '#ccc',							//左右滑块箭头的颜色
        loopHorizontal:		false,							//左右滑块是否循环滑动
        
        scrollBar: 	false,									//是否显示浏览器的滚动条
        loopBottom:	false, 									//滚动到最底部后是否滚回顶部
        loopTop:	false,									//滚动到最顶部后是否滚底部
        
        
        autoScrolling: true,								//是否使用插件的滚动方式      false-则会出现浏览器自带的滚动条
        paddingTop:	'100',									// 设置与顶部的距离
        paddingBottom: '100',								// 设置与底部的距离
        
        continuousVertical: true,   						//是否循环滚动整版页面
        keyboardScrolling: 	false,							//是否键盘控制翻页
        animateAnchor:		true,							
        
        //滚动到某一屏后的回调函数
    	afterLoad:function( afterLoad , index  ){
    		switch( index )
    		{
    			case 1:
    				$( 'div.section:eq(0)' ).find( 'p' ).fadeIn( 2000 );
    			break;
    			case 2:
    				$( 'div.section:eq(1)' ).find( 'p' ).fadeIn( 1000 );
    			break;
    			case 3:
    				//$( 'div.section:eq(2)' ).find( 'div.slide' ).fadeIn( 3000 );
    			break;
    			case 4:
    				$( 'div.section:eq(3)' ).find( 'p' ).fadeIn( 3000 );
    			break;
    		}
    	},
    	//滚动某一屏前的回调函数
    	onLeave:function( index , direction ){
    		switch( index )
    		{
    			case 1:
    				$( 'div.section:eq(0)' ).find( 'p' ).fadeOut( 100 );
    			break;
    			case 2:
    				$( 'div.section:eq(1)' ).find( 'p' ).fadeIn( 100 );
    			break;
    			case 3:
    				//$( 'div.section:eq(2)' ).find( 'div.slide' ).fadeIn( 3000 );
    			break;
    			case 4:
    				$( 'div.section:eq(3)' ).find( 'p' ).fadeIn( 100 );
    			break;
    		}
    	},
    	
    });
    
    setInterval(function(){
    	
        $.fn.fullpage.setScrollingSpeed( 2000 );		// 定义以毫秒为单位的滚动速度
        
        //$.fn.fullpage.moveSlideLeft();				//slide 向左滚动
        $.fn.fullpage.moveSlideRight();					//slide 向右滚动
        
      	//$.fn.fullpage.moveSectionUp();				//设置页面向上滚动
        $.fn.fullpage.moveSectionDown();				//设置页面向下滚动
        
        
    }, 3000);
    
    $.fn.fullpage.setAutoScrolling( true );				// 设置页面滚动方式,设置为 true 时自动滚动
});


类似插件:

            pagePiling.js

                            下载地址: https://github.com/alvarotrigo/pagePiling.js

       XSwitch.js

                          下载地址:https://github.com/XxinLiang/XSwitch


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值