基于jQuery和CSS3制作響應(yīng)式水平時(shí)間軸附源碼下載
我們經(jīng)??吹接泻芏嗟拇怪睍r(shí)間軸用來記錄事件進(jìn)展,而有朋友問我要求分享水平的時(shí)間軸,其實(shí)水平時(shí)間軸的難點(diǎn)在于自適應(yīng)屏幕尺寸。那么 今天我要給大家分享的是一款支持響應(yīng)式、支持觸屏手勢滑動(dòng)的水平時(shí)間軸。
HTML
我們的HTML結(jié)構(gòu)由兩部分組成,div.timeline用于放置日期導(dǎo)航水平線,它有水平多個(gè)日期div.events-wrapper和水平軸左右方向?qū)Ш桨粹oul.cd-timeline-navigation組成。而div.events-content放置的是多個(gè)日期對應(yīng)的事件節(jié)點(diǎn),它又多個(gè)li元素組成,li元素里面可以放置圖片文字等任意HTML內(nèi)容。注意這兩部分的html的li中都有data-date屬性,它的值是一個(gè)日期,正是通過data-date屬性將導(dǎo)航水平線與日期對應(yīng)的事件內(nèi)容關(guān)聯(lián)起來的。
<section class="cd-horizontal-timeline"> <div class="timeline"> <div class="events-wrapper"> <div class="events"> <ol> <li><a href="#0" data-date="16/01/2014" class="selected">16 Jan</a></li> <li><a href="#0" data-date="28/02/2014">28 Feb</a></li> <!-- 多個(gè)日期 --> </ol> <span class="filling-line" aria-hidden="true"></span> </div> <!-- .events --> </div> <!-- .events-wrapper --> <ul class="cd-timeline-navigation"> <li><a href="#0" class="prev inactive">Prev</a></li> <li><a href="#0" class="next">Next</a></li> </ul> <!-- .cd-timeline-navigation --> </div> <!-- .timeline --> <div class="events-content"> <ol> <li class="selected" data-date="16/01/2014"> <h2>標(biāo)題</h2> <em>January 16th, 2014</em> <p> 文字或者圖片等任意HTML內(nèi)容 </p> </li> <li data-date="28/02/2014"> <!-- 對應(yīng)日期的事件描述信息 --> </li> <!-- 多個(gè)日期事件 --> </ol> </div> </section>
CSS
來看時(shí)間軸事件的css設(shè)計(jì),所有的事件節(jié)點(diǎn)初始都在視圖之外,就是看不到的,除了.selected當(dāng)前選中的日期節(jié)點(diǎn)。我們使用.enter-right/.enter-left來為事件節(jié)點(diǎn)進(jìn)入視圖時(shí)添加動(dòng)畫,使用.leave-right/.leave-left來為事件節(jié)點(diǎn)離開視圖時(shí)添加動(dòng)畫。本例運(yùn)用了很多CSS3動(dòng)畫效果,請看代碼:
.cd-horizontal-timeline .events-content { position: relative; } .cd-horizontal-timeline .events-content li { position: absolute; z-index: 1; width: 100%; left: 0; top: 0; transform: translateX(-100%); opacity: 0; animation-duration: 0.4s; animation-timing-function: ease-in-out; } .cd-horizontal-timeline .events-content li.selected { /* visible event content */ position: relative; z-index: 2; opacity: 1; transform: translateX(0); } .cd-horizontal-timeline .events-content li.enter-right, .cd-horizontal-timeline .events-content li.leave-right { animation-name: cd-enter-right; } .cd-horizontal-timeline .events-content li.enter-left, .cd-horizontal-timeline .events-content li.leave-left { animation-name: cd-enter-left; } .cd-horizontal-timeline .events-content li.leave-right, .cd-horizontal-timeline .events-content li.leave-left { animation-direction: reverse; } @keyframes cd-enter-right { 0% { opacity: 0; transform: translateX(100%); } 100% { opacity: 1; transform: translateX(0%); } } @keyframes cd-enter-left { 0% { opacity: 0; transform: translateX(-100%); } 100% { opacity: 1; transform: translateX(0%); } }
JS
在main.js中,根據(jù)每兩個(gè)日期之間間隔的長短來調(diào)整日期導(dǎo)航條上兩個(gè)日期節(jié)點(diǎn)的距離,當(dāng)然要設(shè)置一個(gè)最小值(px),以及根據(jù)data-date屬性獲取日期,并將日期做格式化處理。使用jQuery實(shí)現(xiàn)點(diǎn)擊左右導(dǎo)航按鈕來實(shí)現(xiàn)事件內(nèi)容的滑動(dòng)效果,具體代碼由于比較多,就不在這里占用篇幅了,請大家下載源碼查看main.js里的代碼詳情,不做任何修改直接可以拿去應(yīng)用到你的項(xiàng)目中去。
- 利用Jquery實(shí)現(xiàn)幾款漂亮實(shí)用的時(shí)間軸(附示例代碼)
- jQuery+HTML5+CSS3制作支持響應(yīng)式布局時(shí)間軸插件
- jQuery Timelinr實(shí)現(xiàn)垂直水平時(shí)間軸插件(附源碼下載)
- Jquery時(shí)間軸特效(三種不同類型)
- jQuery插件Timelinr 實(shí)現(xiàn)時(shí)間軸特效
- jQuery代碼實(shí)現(xiàn)發(fā)展歷程時(shí)間軸特效
- jQuery時(shí)間軸插件使用詳解
- TimergliderJS 一個(gè)基于jQuery的時(shí)間軸插件
- ThinkPHP+jquery實(shí)現(xiàn)“加載更多”功能代碼
- jQuery模擬原生態(tài)App上拉刷新下拉加載更多頁面及原理
- jQuery+AJAX實(shí)現(xiàn)無刷新下拉加載更多
- 基于JQuery實(shí)現(xiàn)滾動(dòng)到頁面底端時(shí)自動(dòng)加載更多信息
- jQuery簡易時(shí)光軸實(shí)現(xiàn)方法示例
相關(guān)文章
JQuery中form驗(yàn)證出錯(cuò)信息的查看方法
JQuery中form驗(yàn)證出錯(cuò),可以采用以下方式來查看具體input的出錯(cuò)信息,下面有個(gè)不錯(cuò)的示例,有類似情況的朋友可以參考下2013-10-10jquery跟隨屏幕滾動(dòng)效果的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄猨query跟隨屏幕滾動(dòng)效果的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-04-04jQuery事件_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
這篇文章主要為大家詳細(xì)介紹了jQuery事件的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07jQuery實(shí)現(xiàn)帶延時(shí)功能的水平多級菜單效果【附demo源碼下載】
這篇文章主要介紹了jQuery實(shí)現(xiàn)帶延時(shí)功能的水平多級菜單效果,可實(shí)現(xiàn)響應(yīng)鼠標(biāo)事件延時(shí)展示菜單的功能,涉及jQuery結(jié)合時(shí)間函數(shù)動(dòng)態(tài)操作頁面元素屬性的相關(guān)技巧,需要的朋友可以參考下2016-09-09