jquery封装的时间轴

概述

很多时候,都会用到类似于时间轴的东西,鉴于网络资源没有那么顺手,就想着自己搞一个,在此将源码贴出来。

效果

代码

样式文件style.css

.timeline{
    position: absolute;
    z-index: 5000;
    font-size: 12px;
    border: 1px solid #ccc;
    background: whitesmoke;
    background: -webkit-linear-gradient(top, whitesmoke, #ddd);
    background: -ms-linear-gradient(top, whitesmoke, #ddd);
    background: -moz-linear-gradient(top, whitesmoke, #ddd);
    border-radius: 4px 0 4px 0;
    box-shadow: 0px 0px 10px rgba(150,150,150,0.5);
}
.timeline ul.ulvec{
    margin-left: 10px;
    list-style: none;
    background: url("dot.gif") 0px 0px repeat-y;
    padding-right: 10px;
}
.timeline ul li.livec{
    margin-left: -43px;
    padding: 0px 0px 0px 12px;
    background: url("biggerdot.png") 0px 50% no-repeat;
    cursor: pointer;
}
.timeline ul.ulhor{
    margin: 0px;
    padding: 5px 10px;
    list-style: none;
    background: url("dot.gif") 0px 5px repeat-x;
}
.timeline ul li.lihor{
    display: inline-block;
    margin: 0px;
    padding: 10px 0px 0px 0px;
    margin-top: -3px;
    background: url("biggerdot.png") 50% 0px no-repeat;
    cursor: pointer;
}
.timeline ul li span{
    display: block;
    padding: 4px 15px;
    border: 1px solid transparent;
}
.timeline ul li.active span{
    color: #f2f2f2;
    box-shadow: inset 0px 0px 30px #333333;
    border-radius: 4px;
    border: 1px solid #ffffff;
    background: #666;
}

控件代码 jquery.custom.timeline.js

(function($){
    $.fn.TimeLine = function(options){
        var defaults = {
            data:null,
            vertical:false
        };

        var options = $.extend(defaults,options);
        var _data = options.data;
        var _vertical = options.vertical;
        var _showDiv = $(this).addClass("timeline");
        var _ul = $("<ul />").appendTo(_showDiv);
        if(_vertical){
            _ul.addClass("ulvec");
        }
        else{
            _ul.addClass("ulhor");
        }
        for(var i= 0,dl=_data.length;i<dl;i++){
            var _li = $("<li />").appendTo(_ul);
            if(_vertical){
                _li.addClass("livec");
            }
            else{
                _li.addClass("lihor");
            }
            var _span = $("<span />").attr("value",_data[i].value).html(_data[i].label).appendTo(_li);
            _span.on("click",function(){
                var _value = this.getAttribute("value");
                active(_value);
            });
        }
        function active(value){
            $("li").removeClass("active");
            var _spans = $("ul").find("span");
            for(var i= 0,dl=_spans.length;i<dl;i++){
                var _span = _spans[i];
                if(_span.getAttribute("value")===value){
                    var _li = $(_span.parentNode);
                    _li.addClass("active");
                }
            }
        }
        this.active = active;
        return this;
    }
})(jQuery);

调用实现

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <link rel="stylesheet" href="style.css" type="text/css">
    <script src="http://localhost/jquery/jquery-1.8.3.js"></script>
    <script src="jquery.custom.timeline.js"></script>
    <script>
        var data = [{"label":"2011年","value":"2011"},
            {"label":"2012年","value":"2012"},
            {"label":"2013年","value":"2013"}
        ];
        $(function(){
            var timelinehor = $("#timelinehor").TimeLine({
                data:data,
                vertical:false
            });
            timelinehor.active(data[0].value);
            var timelinevec = $("#timelinevec").TimeLine({
                data:data,
                vertical:true
            });
            timelinevec.active(data[0].value);
        });
    </script>
</head>
<body>
<div id="timelinehor"></div><br><br><br>
<div id="timelinevec"></div>
</body>
</html>

时间: 2024-12-27 22:59:53

jquery封装的时间轴的相关文章

基于jQuery的美食时间轴焦点图插件

这是一款非常炫酷的jQuery焦点图插件,这款jQuery焦点图的特点是有一个时间轴,点击切换按钮时,时间轴会逐渐移动,时间轴上的图片也会逐渐切换.另外,在图片上方也可以放置自定义样式的文字. 在线预览   源码下载 实现的代码. html代码: <div class="main_w"> <div class="index_zzw" id="index_zzw"> <div class="index_zzw

超炫的时间轴jquery插件Timeline Portfolio

Timeline Portfolio是一款按时间顺序专业显示事件的jquery时间轴插件,可以根据时间的先后嵌入各种媒体包括微博,视频和地图等.这个展现的模式非常适合设计师的作品集和个人简历的展示.Timeline Portfolio使用jquery和CSS3封装的非常棒,插件通过读取data.json文件来写入文档中,这样,您需要根据自己的需求设计下页面,然后再修改data.json里面的数据为自己的就可以实现一个超炫的时间轴网站了. jquery插件实例:超炫的时间轴jquery插件Time

jQuery时间轴插件:jQuery Timelinr

前言 这是一款可用于展示历史和计划的时间轴插件,尤其比较适合一些网站展示发展历程.大事件等场景.该插件基于jQuery,可以滑动切换.水平和垂直滚动.支持键盘方向键.经过扩展后可以支持鼠标滚轮事件. HTML 我们在body中建立一个div#timeline作为展示区,#dates为时间轴,示例中我们用年份作为主轴,#issues作为内容展示区,即展示对应主轴点年份的内容,注意id对应上. <div id="timeline"> <ul id="dates&

Jquery实现的几款漂亮的时间轴

引言 最近项目中使用了很多前端的东西,对于我一个做后台开发的人员,这是一个很好的锻炼的机会.经过这段时间的学习,感觉前端的东西太多了,太强大了,做出来的东西太炫酷了.现在有很多开源的前端框架,做的都非常的漂亮,h5发展了这么多年了,改变了互联网行业啊!下面给大家介绍几款漂亮的时间轴,也许大家以后工作中会用到. 一.纵向折叠时间轴 1.js文件(jQuery.js或者jQuery.min.js) 2.CSS文件   3.HTML代码   4.运行效果: 二.纵向鼠标滑动时间轴 1.js文件(jqu

基于jQuery的时间轴鼠标悬停动画插件

之前为大家分享了很多jquery插件,这次我们要来分享一款不太常见的jQuery插件,它是一个时间轴,时间轴上的每一个点在鼠标滑过时都可以显示该点的描述信息,并且鼠标滑过时都可以产生一定的动画特效,比如鼠标划过时圆圈的展开动画. 在线预览   源码下载 实现的代码. html代码: <div class="clearfix course_nr"> <ul class="course_nr2"> <li>1993 <div c

jquery时间轴幻灯展示源代码

查看效果:http://hovertree.com/texiao/jquery/75/ 源代码下载:http://hovertree.com/h/bjaf/8jlpc2wu.htm 效果图如下: 代码如下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <tit

基于jquery带时间轴的图片轮播切换代码

基于jquery图片标题随小圆点放大切换.这是是一款带时间轴的图片轮播切换代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div id="decoroll2" class="imgfocus"> <div id="decoimg_a2" class="imgbox"> <div class="decoimg_b2"> <a href=&q

jQuery鼠标滑过横向时间轴效果

jQuery鼠标滑过横向时间轴效果---效果图: jQuery鼠标滑过横向时间轴效果---全部代码: <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="css/style.css"> </head> <body> <

jQuery鼠标滑过横向时间轴样式

每日分享效果,今天分享内容为:jQuery鼠标滑过横向时间轴样式效果图:HTML代码: <!DOCTYPE html> <html> <head> <title></title> <link rel="stylesheet" type="text/css" href="css/style.css"> </head> <body> <div cla