基于jQuery和CSS3制作響應式水平時間軸附源碼下載
我們經??吹接泻芏嗟拇怪睍r間軸用來記錄事件進展,而有朋友問我要求分享水平的時間軸,其實水平時間軸的難點在于自適應屏幕尺寸。那么 今天我要給大家分享的是一款支持響應式、支持觸屏手勢滑動的水平時間軸。

HTML
我們的HTML結構由兩部分組成,div.timeline用于放置日期導航水平線,它有水平多個日期div.events-wrapper和水平軸左右方向導航按鈕ul.cd-timeline-navigation組成。而div.events-content放置的是多個日期對應的事件節(jié)點,它又多個li元素組成,li元素里面可以放置圖片文字等任意HTML內容。注意這兩部分的html的li中都有data-date屬性,它的值是一個日期,正是通過data-date屬性將導航水平線與日期對應的事件內容關聯(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>
<!-- 多個日期 -->
</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>標題</h2>
<em>January 16th, 2014</em>
<p>
文字或者圖片等任意HTML內容
</p>
</li>
<li data-date="28/02/2014">
<!-- 對應日期的事件描述信息 -->
</li>
<!-- 多個日期事件 -->
</ol>
</div>
</section>
CSS
來看時間軸事件的css設計,所有的事件節(jié)點初始都在視圖之外,就是看不到的,除了.selected當前選中的日期節(jié)點。我們使用.enter-right/.enter-left來為事件節(jié)點進入視圖時添加動畫,使用.leave-right/.leave-left來為事件節(jié)點離開視圖時添加動畫。本例運用了很多CSS3動畫效果,請看代碼:
.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中,根據每兩個日期之間間隔的長短來調整日期導航條上兩個日期節(jié)點的距離,當然要設置一個最小值(px),以及根據data-date屬性獲取日期,并將日期做格式化處理。使用jQuery實現(xiàn)點擊左右導航按鈕來實現(xiàn)事件內容的滑動效果,具體代碼由于比較多,就不在這里占用篇幅了,請大家下載源碼查看main.js里的代碼詳情,不做任何修改直接可以拿去應用到你的項目中去。
- 利用Jquery實現(xiàn)幾款漂亮實用的時間軸(附示例代碼)
- jQuery+HTML5+CSS3制作支持響應式布局時間軸插件
- jQuery Timelinr實現(xiàn)垂直水平時間軸插件(附源碼下載)
- Jquery時間軸特效(三種不同類型)
- jQuery插件Timelinr 實現(xiàn)時間軸特效
- jQuery代碼實現(xiàn)發(fā)展歷程時間軸特效
- jQuery時間軸插件使用詳解
- TimergliderJS 一個基于jQuery的時間軸插件
- ThinkPHP+jquery實現(xiàn)“加載更多”功能代碼
- jQuery模擬原生態(tài)App上拉刷新下拉加載更多頁面及原理
- jQuery+AJAX實現(xiàn)無刷新下拉加載更多
- 基于JQuery實現(xiàn)滾動到頁面底端時自動加載更多信息
- jQuery簡易時光軸實現(xiàn)方法示例
相關文章
jQuery實現(xiàn)帶延時功能的水平多級菜單效果【附demo源碼下載】
這篇文章主要介紹了jQuery實現(xiàn)帶延時功能的水平多級菜單效果,可實現(xiàn)響應鼠標事件延時展示菜單的功能,涉及jQuery結合時間函數動態(tài)操作頁面元素屬性的相關技巧,需要的朋友可以參考下2016-09-09

