這是一款可用于展示歷史和計(jì)劃的時(shí)間軸插件,尤其比較適合一些網(wǎng)站展示發(fā)展歷程、大事件等場(chǎng)景。該插件基于jQuery,可以滑動(dòng)切換、水平和垂直滾動(dòng)、支持鍵盤方向鍵。經(jīng)過擴(kuò)展后可以支持鼠標(biāo)滾輪事件。
?
?
HTML
我們?cè)赽ody中建立一個(gè)div#timeline作為展示區(qū),#dates為時(shí)間軸,示例中我們用年份作為主軸,#issues作為內(nèi)容展示區(qū),即展示對(duì)應(yīng)主軸點(diǎn)年份的內(nèi)容,注意id對(duì)應(yīng)上。
<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>分享生活 留住感動(dòng)</p> </li> </ul> <a href="#" id="next">+</a> <!-- optional --> <a href="#" id="prev">-</a> <!-- optional --> </div>
?
jQuery Timelinr依賴于jQuery,所以在html中要先載入 jQuery 庫和 jQuery Timelinr 插件。
<script src="jquery.min.js"></script> <script src="jquery.timelinr-0.9.53.js"></script>
?
CSS
接下來用CSS來布局,你可以設(shè)置不同的CSS來控制時(shí)間軸是否橫向排列還是縱向排列,根據(jù)需求自由發(fā)揮,以下給出的是縱向排列,即用于垂直滾動(dòng)的樣式。
#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
調(diào)用時(shí)間軸插件非常簡(jiǎn)單,執(zhí)行以下代碼:
$(function(){ $().timelinr({ orientation:'vertical' }); });
?
jQuery Timelinr提供了很多可設(shè)置的選項(xiàng),可以根據(jù)需要進(jìn)行設(shè)置。
選項(xiàng) | 描述 | 默認(rèn)值 |
orientation | 時(shí)間軸方向,可為水平(horizontal)或垂直(vertical) | horizontal |
containerDiv | 時(shí)間軸展示主區(qū)域ID | #timeline |
datesDiv | 時(shí)間軸主軸ID | #dates |
datesSelectedClass | 當(dāng)前主軸軸點(diǎn)的樣式 | selected |
datesSpeed | 主軸滾動(dòng)速度,可為100~1000之間的數(shù)字,或者設(shè)置為'slow', 'normal' or 'fast' | normal |
issuesDiv | 主要內(nèi)容展示區(qū) | #issues |
issuesSpeed | 對(duì)應(yīng)內(nèi)容區(qū)的滾動(dòng)速度,可為100~1000之間的數(shù)字,或者設(shè)置為'slow', 'normal' or 'fast' | fast |
issuesTransparency | 內(nèi)容區(qū)的切入時(shí)的透明度,在0~1之間取值 | 0.2 |
issuesTransparencySpeed | 內(nèi)容區(qū)的切入時(shí)的透明度變化速度,100~1000之間的數(shù)字 | 500 |
prevButton | 用于點(diǎn)擊展示前一項(xiàng)內(nèi)容的按鈕ID | #prev |
nextButton | 用于點(diǎn)擊展示后一項(xiàng)內(nèi)容的按鈕ID | #next |
arrowKeys | 是否支持方向鍵,true or false | false |
startAt | 初始化起點(diǎn),即初始化軸點(diǎn)位置,數(shù)字 | 1 |
autoPlay | 是否自動(dòng)滾動(dòng),true or false | false |
autoPlayDirection | 滾動(dòng)方向,forward or backward | forward |
autoPlayPause | 自動(dòng)滾動(dòng)時(shí)停留時(shí)間,毫秒 | 2000 |
?
支持滾輪驅(qū)動(dòng)
此外,當(dāng)前的jQuery Timelinr并不支持鼠標(biāo)滾輪驅(qū)動(dòng),其實(shí)我們可以稍微對(duì)插件做下擴(kuò)展就可以支持鼠標(biāo)滾輪驅(qū)動(dòng),這里需要用到滾輪時(shí)間插件: jquery.mousewheel.js
?
下載該插件后,在頁面中導(dǎo)入。
<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(); } }); }
?
我們?cè)谑纠衅帘瘟税粹oprevButton和nextButton,當(dāng)設(shè)置了支持滾輪事件時(shí),滾輪向上,相當(dāng)于點(diǎn)擊prevButton,滾輪向下,相當(dāng)于點(diǎn)擊了nextButton。
?
然后在32行處加入初始化選項(xiàng):
mousewheel: 'false'
?
最后使用以下代碼后,整個(gè)時(shí)間軸就可支持滾輪事件了, 查看demo 。
$(function(){ $().timelinr({ mousewheel: 'true' }); });
?
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
