Velocity.js和fullPage.js和move.js

来源:互联网 发布:linux swap solaris 编辑:程序博客网 时间:2024/06/05 02:19

Velocity.js

  一个实现动画的js插件

<!DOCTYPE html><html><head><meta charset="utf-8"><title>velocity.js</title><link rel="stylesheet" type="text/css" href="css/style.css"><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript" src="js/velocity.min.js"></script><script type="text/javascript" src="js/velocity.ui.min.js"></script><style type="text/css">.box{    width: 300px;    height: 200px;    display: block;    background-color: red;}#div1{opacity: 0}#div2{    position: absolute;    opacity: 1;    background-color: green;}#div3{    opacity: 1;}</style>







(function($){    $('#div1').velocity({    width:'300px'   },{    duration:1000,    complete:function(){        $('#div2').velocity({            width:'300px'        },        {            duration:1000        });    }});/*var seq = [{    elements:$('#div1'),    properties:{width:'300px'},    options:{duration:1000}},{    elements:$('#div2'),    properties:{width:'300px'},    options:{duration:1000}},{    elements:$('#div3'),    properties:{width:'300px'},    options:{duration:1000}}]$.Velocity.RunSequence(seq);*/$('#div1').on('mouseover', function() {    $(this).velocity('callout.shake');});$.Velocity.RegisterEffect('Lixin.pulse',{//RegisterUI和RegisterEffect一样    defaultDuration:300,    calls:[        [{scaleX:1.1},0.5],//前50%将x变为原来的1.5倍        [{scaleX:1.0},0.5]//后50%    ]});$('#div2').on('mouseover', function() {    $(this).velocity('Lixin.pulse');});})(jQuery);

FullPage.js

  fullPage.js是一个基于jQuery的插件,它能够很方便、很轻松的制作出全屏网站,主要功能有:
+ 支持鼠标滚动
+ 多个回调函数
+ 支持手机、平板触摸事件
+ 支持CSS3动画
+ 支持窗口缩放
+ 窗口缩放时自动调整
+ 可设置滚动宽度、背景颜色、滚动速度、循环选项、回调、文本对齐方式等


   如何获得fullPage呢?
   可以在gitHub上获得
   特点:
+ 轻巧
+ 兼容性好
+ 无商业限制
使用cdnjs网站引用fullPage.js

配置项

  • sectionsColor:可以为每一个section设置background-color属性
  • controlArrows:定义是否通过箭头来控制slide幻灯片,默认为true。当我们设置为false,则幻灯片左右两侧的箭头就会消失,在移动设备上,我们可以通过滑动来切换幻灯片。
  • verticalCentered:每一页的内容是否垂直居中,默认为true。一般我们保持默认值。
  • resize: 字体是否随着窗口缩放而缩放,默认为false;
  • scrollSpeed:滑动速度默认为700ms
  • anchors:定义锚链接,默认值为[]。有了锚链接,用户可以快速打开定义的链接,注意锚链接定义不要重复。并且定义时不需要#,好处是可以是实现收藏。
  • lockAnchors:是否锁定锚链接,默认值为false。如果设置为true,那么定义的锚链接,也就是anchors属性则没有效果。这个配置项使用的比较少。
  • easing:定义页面section滚动的动画方式,默认为easeInOutCubic,如果修改此项,需要引入jQuery.easings.js或者jquery ui.
  • css3:是否使用css3 transforms 来实现滚动效果,默认为true。这个配置项可以提高支持css3的浏览器,比如移动设备等的速度,如果浏览器不支持css3,则会使用jquery来代替css3实现滚动效果。
  • loopTop:滚动到最顶部后是否连续滚动到底部,默认为false。
  • loopBottom:滚动到最底部是否连续滚动回顶部,默认值为false。
  • loopHorizontal:横向slider幻灯片是否循环滚动,默认值true。
  • autoScrolling:是否使用插件的滚动方式,默认为true,如果选择false,则会出现浏览器自带的滚动条,将不会按页滚动,而是按照滚动条的默认行为来滚动。
  • scrollBar:是否包含滚动条,默认为false,如果设置为true,则浏览器自带的滚动条出现,页面滚动时还是按页滚动,但是滚动条的默认行为也有效。
  • paddingTop/paddingBottom:设置每一个section顶部和底部的padding,默认都为0,一般如果我们需要设置一个固定在顶部或者底部的菜单、导航、元素等,可以使用这两个配置项。
  • fixedElements:固定的元素,默认为null,需要配置一个jQuery选择器,在页面股东的时候,fixedElements设置的元素固定不动。
  • keyboardScrolling:是否可以使用键盘方向键导航,默认值为true
  • touchSensitivity:在移动设备中滑动页面的敏感度,默认为5,是按百分比来衡量,最高为100,越大越难滚动。
  • continuousVertical:是否循环滚动,默认值为false。如果设置为true,则页面会循环滚动,而不像loopTop或loopBottom那样出现跳动,注意这个属性和loopTop、loopBottom不兼容,不要同时设置。
  • animateAnchor:锚链接是否可以控制滚动动画,默认为true。如果设置为false,则通过锚链接定位到某个页面显示不再有动画效果。
  • recordHistory:是否记录历史,默认为true,可以记录页面滚动的历史,通过浏览器的前进后退来导航。注意如果设置了autoScrolling:false,那么这个配置也将被关闭,即设置为false。
  • menu:绑定菜单,设定的相关属性与anchors的值对应后,菜单可以控制滚动,默认为false。可以设置为才菜单的jquery选择器。
  • navigation:是否显示导航,默认为false。如果设置为true,会显示小圆点,作为导航。
  • navigationPosition:导航小圆点的位置,可以设置为left或者right。
  • navigationTooltips:导航小圆点的tooltips设置,默认为[],注意按照顺序设置。
  • showActiveTooltip:是否显示当前页面的导航的tooltip信息,默认为false
  • slidesNavigation:是否显示横向幻灯片的导航,默认为false。
  • slidesNavPosition:横向幻灯片导航的位置,默认为bottom,可以设置为top或bottom
  • scrollOverflow:内容超过满屏后是否显示滚动条,默认为false。如果设置为true,则会显示滚动条,如果要滚动查看内容,还需要jquery.slimscroll插件的配合。slimscroll插件主要用于模拟传统的浏览器滚动条。
  • sectionSelector:sectoin的选择器,。默认为.section.
  • slideSelector:slide的选择器,默认为.slide。

方法 $.fn.fullpage.xxx()

  • moveSectionUp():向上滚动一页。
  • moveSectionDown():向下滚动一页。
  • moveTo(section,slide):滚动到第几页,第几个幻灯片,注意,页面是从1开始,而幻灯片,是从0开始。
  • silentMoveTo(section,slide):滚动到第几页,和moveTo一样,但是没有动画效果。
  • moveSlideRight():幻灯片向右滚动。
  • moveSlideLeft():幻灯片向左滚动。
  • setAutoScrolling(boolean):动态设置autoScrolling
  • setLockAnchors(boolean):动态设置lockAnchors
  • setRecordHistory(boolean):动态设置recordHistory
  • setScrollingSpeed(milliseconds):动态设置scrollingSpeed
  • setAllowScrolling(boolean,[directions]);添加或删除鼠标滚轮/滑动控制,第一个参数true为启用,false为禁用,后面的参数为方向,取值包含all,up,down,left,right,可以使用多个,用逗号分隔。
  • destroy(type):销毁fullpage特效,type可以不写,或者使用all,不写type,fullPage给页面添加的样式和html元素还在,如果使用all,则样式,HTML等全部销毁,页面恢复和不使用fullPage相同的效果
  • reBuild()重新更新页面和尺寸,用于通过ajax请求后改变了页面结构之后,重建效果。

回调

  • afterLoad(anchorLink,index):滚动到某一section,且滚动结束后,会触发一次回调函数,函数接收anchorLink和index两个参数,anchorLink是锚链接的名称,index是序号,从1开始计算。我们可以根据anchorLink和index参数值的判断,触发相应的事件。
  • onLeave(index,nextIndex,direction):在我们离开一个section时,会触发一次此回调函数,接收index、nextIndex和direction 3个参数:
    • index是离开的“页面”的序号,从1开始计算;
    • nextIndex是滚动到的目标“页面”的序号,从1开始计算;
    • direction判断往上滚动还是往下滚动,值是up或down.

通过return false;可以取消滚动
+ afterRender()页面结构生成后的回调函数,或者说页面初始化完成后的回调函数
+ afterResize()浏览器窗口尺寸改变后的回调函数
+ afterSlideLoad(anchorLink,index,slideAnchor,slideIndex)滚动到某一幻灯片后的回调函数,与afterLoad类似,接收anchorLink,index,slideIndex,direction 4个参数。
+ onSlideLeave(anchorLink,index,slideIndex,direction,nextSlideIndex)在我们离开一个slide时,会触发一次此回调函数,与onLeave类似,接收anchorLink,index,slideIndex,direction 4个参数。

Move.js

.box{    -webkit-transition:margin 1s;    -moz-transition:margin 1s;    -o-transition:margin 1s;    transition:margin 1s;}.box:hover{    margin-left:100px;}move('.box').set('margin-left':100)            .end();
  • set()方法用于设置元素的CSS属性,他带有俩个参数:CSS属性和属性值。
  • scale()方法用于放大或压缩元素的大小,按照提供的每一个值,将调用transform的scale方法。
  • rotate(deg)方法通过提供的数组作为参数来旋转元素。当方法被调用的时候通过附加到元素的transform属性上
  • end()方法用于Move.js代码片段的结束,它标识动画的结束。技术上,该方法触发动画的播放。该方法接受一个可选的callback回调函数。