有一个时间列表范围,怎么根据当前时间精准定位到当前的范围,并且添加样式。
//初始化时间列表
initTimeList();
function initTimeList(){
let $timeList = $("#timeList");
let str = new Array(1440).fill("0").map((val,index)=>{
//分钟数整除60为小时,余数为分钟数
let minute = parseInt(index%60);
let hour = parseInt(index/60);
let minutes = parseInt(minute+1);
if(parseInt(index%60)==59){
var hours = hour+1;
minutes = 0;
let st = ("0" + hour).slice(-2) + ":"+ ("0" + minute).slice(-2);
let end = ("0" + hours).slice(-2) + ":"+ ("0" + minutes).slice(-2);
// console.log(st)
// console.log(st.slice(-2)) //分钟
// console.log(st.slice(0,2)) //小时
return `<li data-st="${st}:00" data-end="${end}:00" data-pos="${st}">${st}-${end}</li>`;
}else{
let st = ("0" + hour).slice(-2) + ":"+ ("0" + minute).slice(-2);
let end = ("0" + hour).slice(-2) + ":"+ ("0" + minutes).slice(-2);
return `<li data-st="${st}:00" data-end="${end}:00" data-pos="${st}">${st}-${end}</li>`;
}
});
str.unshift(`<li data-st="00:00:00" data-end="24:00:00">全天</li>`);
$timeList.empty().html(str);
$timeList.on("click",function(e){
$(e.target).addClass("selected").siblings().removeClass("selected");
let date = $date.val().replace(/年|月/g,"-").replace(/日/g,"");
//echarts图dataZomm开始时间
selectedStartTime = new Date(`${date} ${$(e.target).data("st")}`).getTime();
//echarts图dataZomm开始时间
selectedEndTime = new Date(`${date} ${$(e.target).data("end")}`).getTime();
locate(selectedStartTime,selectedEndTime);
});