前言
這是一款可用於展示歷史和計劃的時間軸插件,尤其比較適合一些網站展示發展歷程、大事件等場景。該插件基於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' }); });