WebForm CSS垂直虚线时间轴特效

要想实现如下效果:左边是当天所有主计划,点击每行显示对应的子计划,用到时间轴表示,需要用到以下插件链接: 时间轴特效.可到其官网自行下载。

思路:
1:首先确定主表(主计划表)和子表(子计划表)的数据关系,通过planID连接子表,单击主表时通过ID得到其所有的字表数据
2:曾经试过想根据字表的数据个数动态创建右边计划项,但是由于其使用方法的特殊性,只有提前初始化多个图形,默认隐藏,根据子项数据赋值并显示出来。
在这里插入图片描述官网下载解压后运行如下图所示
注意相同的颜色代表功能区是一致的,由于其class属性的特殊性,动态 创建很麻烦,以往有大神能解决,暂时只能想到显隐的方法了。

在这里插入图片描述
在项目中使用,
1.用来控制单个内容的显隐
2.设置子项的标题
3.设置子项的内容
注意ID的设置 div0-1, t0-1, c0-1,便于for循环时查询。
在这里插入图片描述
方法1:清空所有子项的标题内容并隐藏

  function ClearLabelss()
           {
               for (var i = 0; i < 7; i++) 
               {
                   var titleTime = '';
                   var content = '';
                   var divs = '';
                   titleTime = 't' + i;
                   content = 'c' + i;
                   divs = 'div' + i;
                   document.getElementById(titleTime).innerText = '';
                   document.getElementById(content).innerText = '';
                   document.getElementById(divs).style.display = "none";
               }
           
           }

初始化主表的table,url获取数据,加载成功默认选中第一行。


        function initDataGridSPShipforecasPop() {

            $('#gridSMMatSupplyDtlPop2').datagrid({
                fit: true,
                fitColumns: false,
                nowrap: true,
                striped: true,
                collapsible: true,
                remoteSort: false,
                singleSelect: true,
                pagination: true,
                rownumbers: true,
                idField: 'GWPMPlanID',
                url: '../ashx/EasyUiAshx/UPMGWOHHandler.ashx?action=query&jcrq=' + $('#GWPMETimeSrch').datebox('getValue') + '&jcrqz=' + $('#GWPMETimeSrch').datebox('getValue'),
                frozenColumns: [[
					{ field: 'GWPMPlanID', title: '港务检修ID', width: 100, hidden: 'true' },

				]],
                columns: [[
					{ field: 'GWPMDate', title: '检修日期', width: 80 },
					{ field: 'GWPMContent', title: '检修内容', width: 140 },
					{ field: 'GWPMProf', title: '检修专业ID', width: 100, hidden: 'true' },
					{ field: 'ProfTypeDes', title: '检修专业', width: 100, hidden: 'true' },
					{ field: 'LastOperator', title: '维护人', width: 100, hidden: 'true' }

				]],
                onLoadSuccess: function (data) {
                    if (data.rows.length != 0) {
                        $('#gridSMMatSupplyDtlPop2').datagrid('selectRow', 0);
                        initLabelss();
                    }
                },
                onClickRow: function (rowIndex, rowData) //单机,根据GWPMPlanID 筛选子项
                {
                    initLabelss();
                }
            });
        };

方法2:单机某行,显示所有子项,这里就体现出ID命名的重要性了!

 function initLabelss() {
            ClearLabelss();
             var divDemo = document.getElementById("demo");
             var row = $("#gridSMMatSupplyDtlPop2").datagrid("getSelected");
             $.post('../ashx/EasyUiAshx/UPMGWSubOHHandler.ashx?action=query2',
			{ pagename: row.GWPMPlanID },
			function (data) {
			    $.each(data, function (i, item) {
			        var titleTime = '';
			        var content = '';
			        var divs = '';
			        // alert(item.GWPMSubContent + "----" + item.LastOperator + "----" + item.GWPMSTime + "----" + i);
			        titleTime = 't' + i;
			        content = 'c' + i;
			        divs = 'div' + i;
			        document.getElementById(divs).style.display = "";
			        document.getElementById(titleTime).innerText ="开始时间:"+ item.GWPMSTime.substring(0, 19);
			        document.getElementById(content).innerText = "检修内容:"+item.GWPMSubContent;


			    });
			}, 'json');


           }

操作很简单吧,唯一的不足之处就是不能够动态创建,本方法只是提前声明好几个初始图形,一旦子项的数量超出预制体就gg了,所以有待改进,期待看到的大神能够结局。最后的最后,给大家推荐个网站:时间轴脚本. 里面包含了各式各样的时间轴,应有尽有。
喜欢的点个赞吧,整理不易且珍惜!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值