• HTML5+CSS3+Jquery实现纯手工的垂直时光轴【附源码】


     前言

      由于工作中需要,系统中需要记录不同时间发生的事件,为了提升用户体验,决定用时光轴来实现。[据说这个东西挺火的,QQ空间和FB都在用...]

    这个时光轴是在 三生石上 这位博主的时光轴基础上修改的,可以称之为增强版吧!

    兼容性

      Firefox、chrome、360急速、360安全浏览器、IE8,其他的没测试,不过IE上的兼容有些问题。

    效果预览

    总体预览

    操作演示

    实现过程

      我是做后端的,所以,页面设计的并不是很好看来着。大家可以自己修改页面。

      1、布局

      页面布局不多说了,就是纯DIV+CSS实现的,没有什么特殊的。在每一个时间轴的节点上,有一个大的DIV层 (id=content201301) ,这里content是固定字段,后面的是这个节点的年月,这部分是实现点击左上角的年月可以自动定位到这个DIV高度的。 另外这种拼接方式也方便之后的后台套用模板。然后,这个大的DIV层里面有若干小的DIV层(Id=divCount),这里的ID是固定了,用来存放内容,另外给这些层添加浮动float:left效果。

      2、缩放

      接下来是实现收缩,缩放功能用了jQuery的slideDown()、slideUp()方法,进行了一下简单的缩放动画。

      3、时间节点上的图标动画

      这个图标使用了CSS3的旋转,代码如下:

     1          ul.timeline li .number .hand_img
     2          {
     3             margin-top:3px;
     4             cursor:pointer;
     5             zoom:1;
     6             -webkit-transition: -webkit-transform 0.8s ease-in;
     7             -moz-transition:-moz-transform 0.8s ease-in;
     8             -o-transition:-o-transform 0.8s ease-in;
     9             transition:transform 0.8s ease-in;
    10          }        
    11 
    12         .Rotation
    13         {
    14             -moz-transform:rotate(90deg);      
    15             -webkit-transform:rotate(90deg);       
    16             -o-transform:rotate(90deg);       
    17             transform:rotate(90deg);       
    18             filter:          
    19             progid:DXImageTransform.Microsoft.BasicImage(rotation=2);
    20         }

      这样,两个连贯的动画,基本上就实现了。很简单把。

      4、HTML5网页视频

      由于可能会有视频,所以就内嵌了一个HTML5的播放器,不过,这种播放器需要浏览器的支持

      这里使用了video.js这个HTML播放器,导入video.js 、video.css,具体配置,在源码里面写了。

    1 <script src="video/video.js"></script>
    2 <video id="video_2" class="video-js vjs-default-skin" controls preload="none" poster="video/Resources/3.png" width="640" height="364"  data-setup='{"example_option":true}'>
    4       <source src="video/Resources/3.mp4" type='video/mp4' />
    5        <track kind="captions" src="voideo/captions.vtt" srclang="en" label="English" />
    6 </video> 

      5、左上角的迷你时间菜单

      这部分不细说了,一笔带过了。这个迷你的时间轴,就是嵌套的两个Ul做成的菜单,设置样式还有使用jQuery的动画方法就能完成,还是不太明白的话,源码里面也写了,也加了注释。

    后记

      刚开始决定写时光轴的时候,在网上到处找jQuery插件,后来在三生石的博客里面看见了他写的文章,点醒了我,这种功能,完全可以自己纯手写的,动画并不复杂,而且网上的jQuery插件有的太臃肿。结果,一上午就写完了,事实证明,靠自己还是行的通的!

      由于这个模块是自己完全手写的,今后需要修改,可以很方便进行修改!要是用的网上的jQuery的插件,那可就惨了...

    相关资源

    HTML5+CSS3+Jquery实现纯手工的垂直时光轴【威力增强版】:http://download.csdn.net/detail/a406502972/8021863

    Github地址:https://github.com/CBDlkl/TimeAxis

    注:解压密码:HTML5

  • 相关阅读:
    POJ 1364 King (差分约束系统)
    COJ 1086: 超市购物 (背包问题)
    OpenGL 视图和颜色的概念
    OpenGL 位图和图像概念
    OpenGL 状态管理和绘制几何体
    java jni和android java ndk
    android ndk(2)
    effective c++ 跨编译单元之初始化次序 笔记
    OpenGL 帧缓冲区
    c++ 自动对象、静态局部对象和内联函数
  • 原文地址:https://www.cnblogs.com/likeli/p/4016140.html
Copyright © 2020-2023  润新知