JS改装的时间轴插件

JS改装的时间轴插件

1.index.html源码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <title>big events</title>
  <link rel="stylesheet" href="./bqsjz.css">
</head>

<body>
  <div class="contrainer header">
    <div class="w1000 tc body">
      <!-- <h1 class='header'>点</h1> -->
      <div class="event_wrap clearfix" style="margin-top: 5%;">
        <div class="middle_line">
        </div>
      </div>

    </div>

  </div>
</body>
<script src="./jquery.min.js"></script>
<script src='./jquery.eventFlow.js'></script>
<script>
  $(function () {
    var bigEvent = [{
      'year': 2015,
      'events': [{
          'mouths': 1,
          'times': '2015年1月29',
          'even': '米校园创业团队正式成立,'
        },
        {
          'mouths': 1,
          'times': '2015年1月30',
          'even': '米校园创业团队正式成立,'
        }
      ]
    }, {
      'year': 2016,
      'events': [{
        'mouths': 2,
        'times': '2016年2月18',
        'even': '米校园创业团队正式成立,确定以“个性化定制”为核心的校园综合服务团队,覆盖20多所大学,成为小'
      }, {
        'mouths': 4,
        'times': '2016年4月15',
        'even': '米校园创业团队正式成立,确定以“个性化定制”为核心的校园综合服务团队,覆盖20多所大学,成为小'
      }]
    }, {
      'year': 2018,
      'events': [{
        'mouths': 2,
        'times': '2016年2月18',
        'even': '米校园创业团队正式成立,确定以“个性化定制”为核心的校园综合服务团队,覆盖20多所大学,成为小'
      }, {
        'mouths': 4,
        'times': '2016年4月15',
        'even': '米校园创业团队正式成立,确定以“个性化定制”为核心的校园综合服务团队,覆盖20多所大学,成为小'
      }]
    }];
    $('.event_wrap').eventFlow({
      'events': bigEvent
    });
  })

  function getTimeDatas(timeDatas) {
    console.info("1111")
  }

</script>

</html>

2.官网下载jquery.min.js,引入jquery.min.js

3、jquery.eventFlow.js源码:

$(window).scroll(function(event) {}此方法是实现当数据超过屏幕可视高度,下拉滚动条动态效果展示出数据。

;(function($,window,document,undefined){
	var pluginName = 'eventFlow',
		defaults ={};
	function EventFlow(element,options){
		this.init(element,options);
	}
	EventFlow.prototype = {
		init : function(element,options){

			this.spliceHtml(element,options);
			var $text = $('.event_wrap .list .ev_text');
			var point = [];
  			$text.each(function(index, el) {  		
  				point.push($(this).offset().top)  	
				});	
				for(var i =0;i<point.length;i++){  		
						$($text[i]).addClass('aActiveWid'); 
				}
  			$(window).scroll(function(event) {
  				var s = $(this).scrollTop();  
  				for(var i =0;i<point.length;i++){  		
  					if(s+ $(document).height()*2/3 > point[i] ){
  						$($text[i]).addClass('aActiveWid');  			
  					}else{
  						$($text[i]).removeClass('aActiveWid')
  					}
  				}
  			});
		},
		spliceHtml :function(element,options){
		
			var $element = element;
			var $middleLine = $element.find('.middle_line');
			var middleLineI = '';
			var list = ''
			var left_num = 0;
			var right_num = 0;
			var height_num = 0;
			for(var i = 0;i<options.events.length;i++){
				left_num = 0;
			  right_num = 0;
				// middleLineI +='<i class="first"></i>'
				// 	+'<i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i>'
				// 	+'<i class="last"></i>';
				options.events[i].events.forEach((v,index) => {
					middleLineI +='<i></i>';
					right_num += 60;
				});
				if((i+1)%2 == 0){
			
					list += '<div class="list_right list" style="height:'+right_num+'px">'
				}else{
					//height_num = this.return_num(i)
					list +='<div class="list_left list" style="height:'+right_num+'px">'
				}
				list +='<span class="big_squre"><i>'+options.events[i].year+'</i></span>';
				for(var j = 0;j < options.events[i].events.length;j++){
				
					if((j+1)%2 == 0){
						list +='<div class="ev_text_odd ev_text ev_t'+(j+1)+'">'
					}else{
						list +='<div class="ev_text ev_text_event ev_t'+(j+1)+'">'
					}
					list +=	'<span class="small_squire"><i></i></span>'
						+'<span class="small_line"></span>'
						+'<h3><span>'+options.events[i].events[j].times+'</span></h3>'
						+'<div><span>'+options.events[i].events[j].even+'</span></div>'
					+'</div>';	
						
				}
				list += '</div>';
			};
			$element.append(list);
			$middleLine.html(middleLineI);
		
		},
		return_num(num){

		}

	}
	$.fn[pluginName] = function(options){
		options = $.extend(true, options, defaults);		
		return this.each(function(){
            new EventFlow($(this),options)
        });
	}
})(jQuery,window,document)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值