jQuery时间轴插件:jQuery Timelinr

 

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

 

HTML

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

 <div id="timeline">
        <ul id="dates">
            <li><a href="#1900" class="selected">1900</a></li>
            <li><a href="#1930">1930</a></li>
            <li><a href="#1944">1944</a></li>
            <li><a href="#1950">1950</a></li>
            <li><a href="#1971">1971</a></li>
            <li><a href="#1977">1977</a></li>
            <li><a href="#1989">1989</a></li>
            <li><a href="#1999">1999</a></li>
            <li><a href="#2001">2001</a></li>
            <li><a href="#2011">2011</a></li>
        </ul>
        <ul id="issues">
            <li id="1900" class="selected">
                <img src="images/1.png" width="256" height="256" />
                <h1>1900</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1930">
                <img src="images/2.png" width="256" height="256" />
                <h1>1930</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1944">
                <img src="images/3.png" width="256" height="256" />
                <h1>1944</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1950">
                <img src="images/4.png" width="256" height="256" />
                <h1>1950</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1971">
                <img src="images/5.png" width="256" height="256" />
                <h1>1971</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1977">
                <img src="images/6.png" width="256" height="256" />
                <h1>1977</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1989">
                <img src="images/7.png" width="256" height="256" />
                <h1>1989</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="1999">
                <img src="images/8.png" width="256" height="256" />
                <h1>1999</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="2001">
                <img src="images/9.png" width="256" height="256" />
                <h1>2001</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
            <li id="2011">
                <img src="images/10.png" width="256" height="256" />
                <h1>2011</h1>
                <p>Donec semper quam scelerisque tortor dictum gravida. In hac habitasse platea dictumst. Nam pulvinar, odio sed rhoncus suscipit, sem diam ultrices mauris, eu consequat purus metus eu velit. Proin metus odio, aliquam eget molestie nec, gravida ut sapien. Phasellus quis est sed turpis sollicitudin venenatis sed eu odio. Praesent eget neque eu eros interdum malesuada non vel leo. Sed fringilla porta ligula.</p>
            </li>
        </ul>
        <div id="grad_top"></div>
        <div id="grad_bottom"></div>
        <a href="#" id="next">+</a>
        <a href="#" id="prev">-</a>
    </div>
View Code

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

<script src="jquery.min.js"></script> 
<script 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;} 
View Code

 

jQuery

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

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

 

 

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

选项描述默认值
orientation时间轴方向,可为水平(horizontal)或垂直(vertical)horizontal
containerDiv时间轴展示主区域ID#timeline
datesDiv时间轴主轴ID#dates
datesSelectedClass当前主轴轴点的样式selected
datesSpeed主轴滚动速度,可为100~1000之间的数字,或者设置为'slow', 'normal' or 'fast'normal
issuesDiv主要内容展示区#issues
issuesSpeed对应内容区的滚动速度,可为100~1000之间的数字,或者设置为'slow', 'normal' or 'fast'fast
issuesTransparency内容区的切入时的透明度,在0~1之间取值0.2
issuesTransparencySpeed内容区的切入时的透明度变化速度,100~1000之间的数字500
prevButton用于点击展示前一项内容的按钮ID#prev
nextButton用于点击展示后一项内容的按钮ID#next
arrowKeys是否支持方向键,true or falsefalse
startAt初始化起点,即初始化轴点位置,数字1
autoPlay是否自动滚动,true or falsefalse
autoPlayDirection滚动方向,forward or backwardforward
autoPlayPause自动滚动时停留时间,毫秒2000

 

支持滚轮驱动

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

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

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

 

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

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。

然后在32行处加入初始化选项:

mousewheel:  'false' 

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

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

 

原文:http://www.helloweba.com/view-blog-211.html

 

转载于:https://www.cnblogs.com/jingping/p/4580337.html

公司发展历程的代码示例通常用于展示一个企业在不同时间段的里程碑事件,这在前端开发中通常会用HTML结合CSS和JavaScript来实现。以下是一个简单的示例,展示了如何用HTML和CSS创建一个简单的公司发展历程的时间线。 ```html <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>公司发展历程</title> <style> body { font-family: 'Arial', sans-serif; } .timeline { position: relative; padding: 0; width: 100%; margin: 0 auto; } .timeline li { list-style-type: none; position: relative; width: 60%; margin: 20px auto; padding-left: 80px; box-sizing: border-box; } .timeline li::before { content: ''; position: absolute; top: 15px; left: -10px; width: 20px; height: 20px; background: #000; border-radius: 50%; } .timeline li::after { content: ''; position: absolute; top: 17px; left: -7px; width: 14px; height: 100%; background: #fff; z-index: -1; } .timeline li:nth-child(odd) { float: left; text-align: right; padding-left: 0; padding-right: 80px; } .timeline li:nth-child(odd)::before { right: -10px; left: initial; } .timeline li:nth-child(odd)::after { right: -7px; left: initial; transform: skew(30deg); } .timeline li h3 { margin: 0; } .timeline li p { margin: 10px 0 0; } </style> </head> <body> <ul class="timeline"> <li> <div class="content"> <h3>成立初期</h3> <p>2000年,公司成立,专注于软件开发。</p> </div> </li> <li> <div class="content"> <h3>扩展业务</h3> <p>2005年,公司扩展业务范围,进入移动应用开发。</p> </div> </li> <li> <div class="content"> <h3>技术创新</h3> <p>2010年,公司引入云计算平台,创新服务模式。</p> </div> </li> <li> <div class="content"> <h3>国际化发展</h3> <p>2015年,公司开始国际化进程,拓展海外市场。</p> </div> </li> </ul> </body> </html> ``` 这个示例中,使用了无序列表`<ul>`和列表项`<li>`来构建时间线的主体。每个列表项代表一个里程碑事件,并通过`:before`和`:after`伪元素来创建时间点的标记和连接线。CSS中还对奇数和偶数列表项进行了区分,以便它们分别向左或向右展开内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值