广

JavaScript

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    jQuery时间轴插件:jQuery Timelinr

    2018-04-05 08:32:48 次阅读 稿源:互联网
    零七广告

    这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程、大事件等场景。该插件基于jQuery,可以滑动切换、水平和垂直滚动、支持键盘方向键。经过扩展后可以支持鼠标滚轮事件。

    HTML

    我们在body中建立一个div#timeline作为展示区,#dates为时间轴,示例中我们用年份作为主轴,#issues作为内容展示区,即展示对应主轴点年份的内容,注意id对应上。

    1. <div id="timeline"> 
    2.    <ul id="dates"> 
    3.       <li><a href="#2011">2011</a></li> 
    4.       <li><a href="#2012">2012</a></li> 
    5.    </ul> 
    6.    <ul id="issues"> 
    7.       <li id="2011"> 
    8.          <p>Lorem ipsum.</p> 
    9.       </li> 
    10.       <li id="2012"> 
    11.          <p>分享生活 留住感动</p> 
    12.       </li> 
    13.    </ul> 
    14.    <a href="#" id="next">+</a> <!-- optional --> 
    15.    <a href="#" id="prev">-</a> <!-- optional --> 
    16. </div> 

    jQuery Timelinr依赖于jQuery,所以在html中要先载入库和插件。

    1. <script src="jquery.min.js"></script> 
    2. <script src="jquery.timelinr-0.9.53.js"></script> 

    CSS

    接下来用CSS来布局,你可以设置不同的CSS来控制时间轴是否横向排列还是纵向排列,根据需求自由发挥,以下给出的是纵向排列,即用于垂直滚动的样式。

    1. #timeline {width760px;height440px;overflowhidden;margin40px auto
    2. positionrelative;backgroundurl('dot.gif'110px top repeat-y;} 
    3. #dates {width115px;height440px;overflowhidden;floatleft;} 
    4. #dates li {list-stylenone;width100px;height100px;line-height100px;font-size24px
    5.  padding-right:20pxtext-align:rightbackgroundurl('biggerdot.png'108px center no-repeat;} 
    6. #dates a {line-height38px;padding-bottom10px;} 
    7. #dates .selected {font-size38px;} 
    8. #issues {width630px;height440px;overflowhidden;floatright;}  
    9. #issues li {width630px;height440px;list-stylenone;} 
    10. #issues li h1 {color#ffcc00;font-size42pxheight:52pxline-height:52px
    11.  text-shadow#000 1px 1px 2px;} 
    12. #issues li p {font-size14px;margin10px;line-height26px;} 

    jQuery

    调用时间轴插件非常简单,执行以下代码:

    1. $(function(){ 
    2.    $().timelinr({ 
    3.         orientation:'vertical' 
    4.    }); 
    5. }); 

    jQuery Timelinr提供了很多可设置的选项,可以根据需要进行设置。

    选项 描述 默认值
    orientation 时间轴方向,可为水平(horizontal)或垂直(vertical) horizontal
    containerDiv 时间轴展示主区域ID #timeline
    datesDiv 时间轴主轴ID #dates
    datesSelectedClass 当前主轴轴点的样式 selected
    datesSpeed 主轴滚动速度,可为100~1000之间的数字,或者设置为'slow', 'normal' or 'fast' normal
    issuesDiv 主要内容展示区 #issues
    issuesSpeed 对应内容区的滚动速度,可为100~1000之间的数字,或者设置为'slow', 'normal' or 'fast' fast
    issuesTransparency 内容区的切入时的透明度,在0~1之间取值 0.2
    issuesTransparencySpeed 内容区的切入时的透明度变化速度,100~1000之间的数字 500
    prevButton 用于点击展示前一项内容的按钮ID #prev
    nextButton 用于点击展示后一项内容的按钮ID #next
    arrowKeys 是否支持方向键,true or false false
    startAt 初始化起点,即初始化轴点位置,数字 1
    autoPlay 是否自动滚动,true or false false
    autoPlayDirection 滚动方向,forward or backward forward
    autoPlayPause 自动滚动时停留时间,毫秒 2000

    支持滚轮驱动

    此外,当前的jQuery Timelinr并不支持鼠标滚轮驱动,其实我们可以稍微对插件做下扩展就可以支持鼠标滚轮驱动,这里需要用到滚轮时间插件:

    下载该插件后,在页面中导入。

    1. <script src="jquery.mousewheel.js"></script> 

    然后,修改jquery.timelinr-0.9.53.js,大概在260行位置加入如下代码:

    1. //--------------Added by helloweba.com 20130326---------- 
    2. if(settings.mousewheel=="true") { //支持滚轮 
    3.     $(settings.containerDiv).mousewheel(function(event, delta, deltaX, deltaY){ 
    4.         if(delta==1){ 
    5.             $(settings.prevButton).click(); 
    6.         }else
    7.             $(settings.nextButton).click(); 
    8.         } 
    9.     }); 

    我们在示例中屏蔽了按钮prevButton和nextButton,当设置了支持滚轮事件时,滚轮向上,相当于点击prevButton,滚轮向下,相当于点击了nextButton。

    然后在32行处加入初始化选项:

    1. mousewheel:  'false' 

    最后使用以下代码后,整个时间轴就可支持滚轮事件了,。

    1. $(function(){ 
    2.     $().timelinr({ 
    3.         mousewheel: 'true' 
    4.     }); 
    5. }); 

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告