前言

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

HTML

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

<div id="timeline">
<ul id="dates">
<li><a href="#2011">2011</a></li>
<li><a href="#2012">2012</a></li>
</ul>
<ul id="issues">
<li id="2011">
<p>Lorem ipsum.</p>
</li>
<li id="2012">
<p>分享生活 留住感动</p>
</li>
</ul>
<a href="#" id="next">+</a> <!-- optional -->
<a href="#" id="prev">-</a> <!-- optional -->
</div>

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

<script type="text/javascript" src="jquery-1.8.2.min.js"></script>
<script type="text/javascript" src="jquery.timelinr-0.9.53.js"></script>

css

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

#timeline {width: 760px;height: 440px;overflow: hidden;margin: 40px auto;
position: relative;background: url('dot.gif') 110px top repeat-y;}
#dates {width: 115px;height: 440px;overflow: hidden;float: left;}
#dates li {list-style: none;width: 100px;height: 100px;line-height: 100px;font-size: 24px;
padding-right:20px; text-align:right; background: url('biggerdot.png') 108px center no-repeat;}
#dates a {line-height: 38px;padding-bottom: 10px;}
#dates .selected {font-size: 38px;}
#issues {width: 630px;height: 440px;overflow: hidden;float: right;}
#issues li {width: 630px;height: 440px;list-style: none;}
#issues li h1 {color: #ffcc00;font-size: 42px; height:52px; line-height:52px;
text-shadow: #000 1px 1px 2px;}
#issues li p {font-size: 14px;margin: 10px;line-height: 26px;}

jQuery

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

$(function(){
$().timelinr({
orientation:'vertical'
});
});

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

支持滚轮驱动

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

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

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

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

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

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

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

$(function(){
$().timelinr({
mousewheel: 'true'
});
});

如果需要查看,点击下载demo

最新文章

  1. Java_I/O输入输出_实现读取文件时出现一个表示读取进度的进度条。可以使用java.swing包提供的输入流类ProgressMonitorInputStream
  2. 转载:align
  3. 查询sql耗时(运行时间)
  4. CF#345 div2 A\B\C题
  5. HDU 1562 Oil Deposits
  6. 利用Eclipse中的Maven构建Web项目(一)
  7. CBC翻转攻击(实验吧_简单的登陆题)
  8. 功能强大的PDF实用工具
  9. JDB与迭代
  10. 自己编写 EntityTypeConfiguration
  11. PHP连接mysql数据库报错:Call to undefined function mysql_connect()
  12. Sql Server 游标例子笔记
  13. IE8 下更改input[file] file文件选择框样式
  14. ssm+redis整合之redis连接池注入
  15. Java 日期比较大小
  16. VB.NET语法小结
  17. 外显子分析报错解决方案bin field of BAM record does not equal value computed based on alignment start and end, and length of sequence to which read is aligned
  18. mail 发送email
  19. python3-知识扩展扫盲易忘-map,collections.Counter()的用法
  20. try与catch

热门文章

  1. SQL数据库基础(四)
  2. [ASP.NET MVC] 使用Bootsnipp样式
  3. [WP8] 使用ApplicationMenu与使用者互动
  4. ES6新特性(函数默认参数,箭头函数)
  5. 最全的前端开发面试题及答案(js,css等等)
  6. Office 365 - SharePoint Tips &amp; Tricks
  7. WebActivatorEx 注入时的使用
  8. Fresco 使用笔记(一):加载gif图片并播放
  9. select_tag 选择后自动提交,并且保持选择的项
  10. SAM4E单片机之旅——15、触屏输入与SPI通信