码迷,mamicode.com
首页 > 其他好文 > 详细

EChart-Timeline

时间:2016-05-10 11:03:52      阅读:532      评论:0      收藏:0      [点我收藏+]

标签:

timeline-day.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/echarts.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<style>
html ,body {
width:100%;
height:100% ;
}

*{
margin:0px;
padding:0px;
}
#main{
    position:absolute;
    right:0;
    top:0;
    z-index: 30;
    width: 80px;
    height:100%;
}
.select{
    width: 80px;
    height:3%;
    background-color: #333 ;
    color:white;
    padding-left:20px ;
}

#right-part{
    z-index: 30;
    width: 80px;
    height:93%;
}
</style>
<script>
window.onload = function(){




// 初始化时间标签
var timeline_text=[]
var hour=0 
var ke=0 
for (var i = 0; i < 4*24; i++) {
    if(ke==3){
        ke=0
        hour++
    }else{
        ke++
    }
    if(ke==0){
        timeline_text[i]=hour+":00"
    }else{
        timeline_text[i]=hour+":"+15*ke
    }
   // console.log(hour+":"+15*ke)
}



for(var j = 0 ; j< 96 ; j++)
{
    var option = document.createElement("option");
    option.innerText  = timeline_text[j] ;
    option.value=j;
    document.getElementById("rightstart").appendChild(option);    
}

for(var j = 95 ; j>=0 ; j--)
{
    var option = document.createElement("option");
    option.innerText  = timeline_text[j] ;
    option.value=j;
    document.getElementById("rightend").appendChild(option);    
}

function setOption(start,end){
    var myChart = echarts.init(document.getElementById(right-part));
    var timeline=[]
    var k = 0 ; 
    for (var i = parseInt(start); i < parseInt(end); i++) {
        timeline[k++] = timeline_text[i];
    }
    // 指定图表的配置项和数据
    var option = {

        baseOption: {
            timeline: {
                axisType: category,
                orient: vertical,
                autoPlay: true,
                inverse: true,
                playInterval: 750,
                left: null,
                right: 0,
                top: 20,
                bottom: 20,
                width: 55,
                height: null,
                label: {
                    normal: {
                        textStyle: {
                            color: #999
                        }
                    },
                    emphasis: {
                        textStyle: {
                            color: #fff
                        }
                    }
                },
                symbol: none,
                lineStyle: {
                    color: #555
                },
                checkpointStyle: {
                    color: #bbb,
                    borderColor: #777,
                    borderWidth: 2
                },
                controlStyle: {
                    showNextBtn: false,
                    showPrevBtn: false,
                    normal: {
                        color: #666,
                        borderColor: #666
                    },
                    emphasis: {
                        color: #aaa,
                        borderColor: #aaa
                    }
                },
                data: []
            },
            // filter:alpha(opacity=30),
            backgroundColor: #333,
            title: {
                text: timeline[0],
                textAlign: center,
                left: 22%,
                bottom: 10,
                textStyle: {
                    fontSize: 40,
                    color: rgba(255, 255, 255, 0.7)
                }
            },
            grid: {
                left: 12%,
                right: 110
            },


            animationDurationUpdate: 1000,
            animationEasingUpdate: quinticInOut
        },
        options: []
    };    
    for (var n = 0; n < timeline.length; n++) {
        option.baseOption.timeline.data.push(timeline[n]);
        option.options.push({
            title: {
                show: false,
                text: timeline[n] + ‘‘

            }
        });
    }
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
}
var start = 0//$("#rightstart").val();
var end = 95//$("#rightend").val() ;
setOption(start,end);


$("#rightstart").change(function(){    
    if (parseInt($("#rightend").val())>parseInt($(this).val())){
        start = $(this).val();
        setOption(start,end);
    }else{
        alert("ERROR:起始时间大于结束时间")
        document.getElementById("rightstart").options[start].selected = true; 
    }
})
$("#rightend").change(function(){
    if (parseInt($("#rightstart").val())<parseInt($(this).val())){
        end = $(this).val() ;
        setOption(start,end);
    }else{
        alert("ERROR:结束时间小于起始时间")
        document.getElementById("rightend").options[end].selected = true; 
    }
})

}


</script>
</head>
<body>
<div id="main">
<select  class="select" name="numberselect" id="rightstart">
      <!-- <option value="0" selected="selected">00:00</option -->
    </select>
<div id="right-part" ></div>
<select  class="select" name="numberselect" id="rightend">
     <!--  <option>93</option>
      <option>94</option>
      <option>95</option>
      <option>96</option> -->
    </select>
</div>

</body>
</html>

 

timeline-date.html

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="js/echarts.min.js"></script>
<script type="text/javascript" src="js/jquery.min.js"></script>
<style>
html ,body {
width:100%;
height:100% ;
    background-color: #333 ;
}

*{
margin:0px;
padding:0px;
}
#main{
    position:absolute;
    left:0;
    bottom:0;
    z-index: 30;
    width: 80%;
    height:80px;
}
.startselect{
    position:absolute;
    left:0;
    top:0;
    width:4% ;
    height:80px;
    background-color: #333 ;
    color:white;
    border-bottom:0px;
    border-top:0px ;
}

.endselect{
    position:absolute;
    right:0;
    top:0;
    width:4% ;
    height:80px;
    background-color: #333 ;
    color:white;
    border-bottom:0px;
    border-top:0px ;
}

#right-part{
    position:absolute;
    left:4% ;
    top:0;
    z-index: 30;
    width: 92%;
    height:80px;
}
</style>
<script>

// 初始化时间标签
var timeline_text=[]
var month=3 
var day=1 
for (var i = 0; i < 31; i++) {
    timeline_text[i]=month+"."+day 
    day++   
}





function setOption(start,end){
    var timeline=[]
    var k = 0 ; 
    for (var i = parseInt(start); i < parseInt(end); i++) {
        timeline[k++] = timeline_text[i];
    }
    // 指定图表的配置项和数据
    var option = {

        baseOption: {
            timeline: {
                axisType: category,
                orient: horizontal,
                autoPlay: false,
                inverse: false,
                playInterval: 750,
                left: 20,
                right: 20,
                top: 20,
                bottom: 30,
                width: null,
                height: 45,
                label: {
                    normal: {
                        textStyle: {
                            color: white
                        }
                    },
                    emphasis: {
                        textStyle: {
                            color: #ffffff
                        }
                    }
                },
                itemStyle: {
                    normal: {
                        color: white
                    },
                    emphasis: {
                        color: blue
                    }
                },
                symbol: diamond,
                lineStyle: {
                    color: #cccccc
                },
                checkpointStyle: {
                    color: #fff,
                    borderColor: #777,
                    borderWidth: 2
                },
                controlStyle: {
                    showPlayBtn: false,
                    showNextBtn: false,
                    showPrevBtn: false,
                    normal: {
                        color: #666,
                        borderColor: #666
                    },
                    emphasis: {
                        color: #aaa,
                        borderColor: #aaa
                    }
                },
                data: []
            },
            // filter:alpha(opacity=80),
            backgroundColor: #333,
            title: {
                text: timeline[0],
                textAlign: center,
                left: 22%,
                bottom: 10,
                textStyle: {
                    fontSize: 40,
                    color: rgba(255, 255, 255, 0.7)
                }
            },
            grid: {
                left: 12%,
                right: 110
            },


            animationDurationUpdate: 1000,
            animationEasingUpdate: quinticInOut
        },
        options: []
    };    
    for (var n = 0; n < timeline.length; n++) {
        option.baseOption.timeline.data.push(timeline[n]);
        option.options.push({
            title: {
                show: false,
                text: timeline[n] + ‘‘

            }
        });
    }
    // 使用刚指定的配置项和数据显示图表。
    myChart.setOption(option);
}




$("#rightstart").change(function(){    
    if (parseInt($("#rightend").val())>parseInt($(this).val())){
        start = $(this).val();
        setOption(start,end);
    }else{
        alert("ERROR:起始时间大于结束时间")
        document.getElementById("rightstart").options[start].selected = true; 
    }
})
$("#rightend").change(function(){
    if (parseInt($("#rightstart").val())<parseInt($(this).val())){
        end = $(this).val() ;
        setOption(start,end);
    }else{
        alert("ERROR:结束时间小于起始时间")
        document.getElementById("rightend").options[end].selected = true; 
    }
})

</script>
</head>
<body>
<div id="main">
<select  class="startselect" name="numberselect" id="rightstart">
      <!-- <option value="0" selected="selected">00:00</option -->
    </select>
<div id="right-part" ></div>
<select  class="endselect" name="numberselect" id="rightend">
     <!--  <option>93</option>
      <option>94</option>
      <option>95</option>
      <option>96</option> -->
    </select>
</div>


<script type="text/javascript">


for(var j = 0 ; j< 31 ; j++)
{
    var option = document.createElement("option");
    option.innerText  = timeline_text[j] ;
    option.value=j;
    document.getElementById("rightstart").appendChild(option);    
}

for(var j = 30 ; j>=0 ; j--)
{
    var option = document.createElement("option");
    option.innerText  = timeline_text[j] ;
    option.value=j;
    document.getElementById("rightend").appendChild(option);    
}
    


var myChart = echarts.init(document.getElementById(right-part));

var start = 0//$("#rightstart").val();
var end = 30//$("#rightend").val() ;
setOption(start,end);


</script>
</body>
</html>

<!-- myChart.dispatchAction({
    type: ‘timelineChange‘,
    // 时间点的 index
    currentIndex: 3
}) -->

 

multi-timeline.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script type="text/javascript" src="js/echarts.min.js"></script>
    <script type="text/javascript" src="js/jquery.min.js"></script>
    <style>
        html, body {
            width: 100%;
            height: 100%;
        }

        * {
            margin: 0px;
            padding: 0px;
        }

        #main_day {
            position: absolute;
            right: 0;
            top: 0;
            z-index: 30;
            width: 80px;
            height: 100%;
        }

        .select {
            width: 80px;
            height: 3%;
            background-color: #333;
            color: white;
            padding-left: 20px;
        }

        #right_part_day {
            z-index: 30;
            width: 80px;
            height: 94%;
        }

        #main_date {
            position: absolute;
            left: 0;
            bottom: 0;
            z-index: 30;
            width: 96%;
            height: 80px;
        }

        .startselect {
            position: absolute;
            left: 0;
            top: 0;
            width: 4%;
            height: 80px;
            background-color: #333;
            color: white;
            border-bottom: 0px;
            border-top: 0px;
        }

        .endselect {
            position: absolute;
            right: 0;
            top: 0;
            width: 4%;
            height: 80px;
            background-color: #333;
            color: white;
            border-bottom: 0px;
            border-top: 0px;
        }

        #right_part_date {
            position: absolute;
            left: 4%;
            top: 0;
            z-index: 30;
            width: 92%;
            height: 80px;
        }
    </style>
</head>
<body>

<div id="main_day">
    <select class="select" name="numberselect" id="rightstart_day"></select>
    <div id="right_part_day"></div>
    <select class="select" name="numberselect" id="rightend_day"></select>
</div>

<div id="main_date">
    <select class="startselect" name="numberselect" id="rightstart_date"></select>
    <div id="right_part_date"></div>
    <select class="endselect" name="numberselect" id="rightend_date"></select>
</div>


<script>//常量

// 初始化时间标签date
var timeline_text_date = []
var month = 3
var day = 1
for (var i = 0; i < 31; i++) {
    timeline_text_date[i] = month + "." + day
    day++
}

// 初始化时间标签day
var timeline_text_day = []
var hour = 0
var ke = 0
for (var i = 0; i < 4 * 24; i++) {
    if (ke == 3) {
        ke = 0
        hour++
    } else {
        ke++
    }
    if (ke == 0) {
        timeline_text_day[i] = hour + ":00"
    } else {
        timeline_text_day[i] = hour + ":" + 15 * ke
    }
}

// 指定图表的配置项和数据
var option_date = {

    baseOption: {
        timeline: {
            axisType: category,
            orient: horizontal,
            autoPlay: false,
            inverse: false,
            playInterval: 750,
            left: 20,
            right: 20,
            top: 20,
            bottom: 30,
            width: null,
            height: 45,
            label: {
                normal: {
                    textStyle: {
                        color: white
                    }
                },
                emphasis: {
                    textStyle: {
                        color: #ffffff
                    }
                }
            },
            itemStyle: {
                normal: {
                    color: white
                },
                emphasis: {
                    color: blue
                }
            },
            symbol: diamond,
            lineStyle: {
                color: #cccccc
            },
            checkpointStyle: {
                color: #fff,
                borderColor: #777,
                borderWidth: 2
            },
            controlStyle: {
                showPlayBtn: false,
                showNextBtn: false,
                showPrevBtn: false,
                normal: {
                    color: #666,
                    borderColor: #666
                },
                emphasis: {
                    color: #aaa,
                    borderColor: #aaa
                }
            },
            data: []
        },
        // filter:alpha(opacity=80),
        backgroundColor: #333,
        title: {
            text: ‘‘,
            textAlign: center,
            left: 22%,
            bottom: 10,
            textStyle: {
                fontSize: 40,
                color: rgba(255, 255, 255, 0.7)
            }
        },
        grid: {
            left: 12%,
            right: 110
        },


        animationDurationUpdate: 1000,
        animationEasingUpdate: quinticInOut
    },
    options: []
};

// 指定图表的配置项和数据
var option_day = {

    baseOption: {
        timeline: {
            axisType: category,
            orient: vertical,
            autoPlay: true,
            inverse: true,
            playInterval: 750,
            left: null,
            right: 0,
            top: 20,
            bottom: 20,
            width: 55,
            height: null,
            label: {
                normal: {
                    textStyle: {
                        color: #999
                    }
                },
                emphasis: {
                    textStyle: {
                        color: #fff
                    }
                }
            },
            symbol: none,
            lineStyle: {
                color: #555
            },
            checkpointStyle: {
                color: #bbb,
                borderColor: #777,
                borderWidth: 2
            },
            controlStyle: {
                showNextBtn: false,
                showPrevBtn: false,
                normal: {
                    color: #666,
                    borderColor: #666
                },
                emphasis: {
                    color: #aaa,
                    borderColor: #aaa
                }
            },
            data: []
        },
        // filter:alpha(opacity=30),
        backgroundColor: #333,
        title: {
            text: ‘‘,
            textAlign: center,
            left: 22%,
            bottom: 10,
            textStyle: {
                fontSize: 40,
                color: rgba(255, 255, 255, 0.7)
            }
        },
        grid: {
            left: 12%,
            right: 110
        },


        animationDurationUpdate: 1000,
        animationEasingUpdate: quinticInOut
    },
    options: []
};
</script>


<script>//初始化页面选项
for (var j = 0; j < 31; j++) {
    var option = document.createElement("option");
    option.innerText = timeline_text_date[j];
    option.value = j;
    document.getElementById("rightstart_date").appendChild(option);
}

for (var j = 30; j >= 0; j--) {
    var option = document.createElement("option");
    option.innerText = timeline_text_date[j];
    option.value = j;
    document.getElementById("rightend_date").appendChild(option);
}

//day
for (var j = 0; j < 96; j++) {
    var option = document.createElement("option");
    option.innerText = timeline_text_day[j];
    option.value = j;
    document.getElementById("rightstart_day").appendChild(option);
}

for (var j = 95; j >= 0; j--) {
    var option = document.createElement("option");
    option.innerText = timeline_text_day[j];
    option.value = j;
    document.getElementById("rightend_day").appendChild(option);
}


</script>

<script>

    function setOption_date(start, end) {
        var timeline = []
        var k = 0;
        for (var i = parseInt(start); i <= parseInt(end); i++) {
            timeline[k++] = timeline_text_date[i];
        }
        option_date.baseOption.timeline.data = []
        for (var n = 0; n < timeline.length; n++) {
            option_date.baseOption.timeline.data.push(timeline[n]);
            option_date.options.push({
                title: {
                    show: false,
                    text: timeline[n] + ‘‘

                }
            });
        }
        // 使用刚指定的配置项和数据显示图表。
        myChart_date.setOption(option_date);
    }


    function setOption_day(start, end) {
        var timeline = []
        var k = 0;
        for (var i = parseInt(start); i <= parseInt(end); i++) {
            timeline[k++] = timeline_text_day[i];
        }
        option_day.baseOption.timeline.data = []
        for (var n = 0; n < timeline.length; n++) {
            option_day.baseOption.timeline.data.push(timeline[n]);
            option_day.options.push({
                title: {
                    show: false,
                    text: timeline[n] + ‘‘

                }
            });
        }
        // 使用刚指定的配置项和数据显示图表。
        myChart_day.setOption(option_day);
    }


    //day
    start_day = 0
    end_day = 95
    $("#rightstart_day").change(function () {
        if (parseInt($("#rightend_day").val()) > parseInt($(this).val())) {
            start_day = parseInt($(this).val());
            setOption_day(start_day, end_day);
        } else {
            alert("ERROR:起始时间大于结束时间")
            document.getElementById("rightstart_day").options[start_day].selected = true;
        }
    })
    $("#rightend_day").change(function () {
        if (parseInt($("#rightstart_day").val()) < parseInt($(this).val())) {
            end_day = parseInt($(this).val());
            setOption_day(start_day, end_day);
        } else {
            alert("ERROR:结束时间小于起始时间")
            document.getElementById("rightend_day").options[end_day].selected = true;
        }
    })

    //date
    start_date = 0
    end_date = 30
    $("#rightstart_date").change(function () {
        if (parseInt($("#rightend_date").val()) > parseInt($(this).val())) {
            start_date = parseInt($(this).val());
            setOption_date(start_date, end_date);
        } else {
            alert("ERROR:起始时间大于结束时间")
            document.getElementById("rightstart_date").options[start_date].selected = true;
        }
    })
    $("#rightend_date").change(function () {
        if (parseInt($("#rightstart_date").val()) < parseInt($(this).val())) {
            end_date = parseInt($(this).val());
            setOption_date(start_date, end_date);
        } else {
            alert("ERROR:结束时间小于起始时间")
            document.getElementById("rightend_date").options[end_date].selected = true;
        }
    })
</script>


<script type="text/javascript">

    var myChart_date = echarts.init(document.getElementById(right_part_date));
    var myChart_day = echarts.init(document.getElementById(right_part_day));

    setOption_date(start_date, end_date);
    setOption_day(start_day, end_day);


</script>

</body>
</html>

 

EChart-Timeline

标签:

原文地址:http://www.cnblogs.com/manhua/p/5477005.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!