var lineWidth = 80; var leftNUmber = 0; var messageLefWidth = 5; var checkPoint = 0; sgworld = window.external.createSgworld(); var arr = []; var rturl = ""; $(function () { ; var urlNewPathName = ""; if (getUrlParam("tm") != "") { arr = getUrlParam("tm").split("+"); rturl = decodeURI(getUrlParam("urlPathName")) ;//localStorage.getItem("rootUrl"); var titleName = rturl.substring(rturl.lastIndexOf("\\") + 1, rturl.length); if (localStorage.getItem("CheckPointYear") == "" | localStorage.getItem("CheckPointYear") == null | localStorage.getItem("CheckPointYear") == "undefined") { var maxYear = Math.max.apply(null, arr); urlNewPathName = rturl + "\\" + maxYear; checkPoint = arr.length - 1; } else { urlNewPathName = rturl + "\\" + localStorage.getItem("CheckPointYear"); checkPoint = arr.indexOf(localStorage.getItem("CheckPointYear")); } //关闭已经打开的图层 sgworld.ProjectTree.SetVisibility("", false); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem("qinghai"), true); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem(urlNewPathName),true); //飞到打开的点 var currentId = sgworld.ProjectTree.FindItem(urlNewPathName + "\\init"); if (currentId != "") { sgworld.Navigate.FlyTo(currentId); } //文本赋值 $(".tname").empty(); $(".tname").append(titleName); $(".tyear").empty(); $(".tyear").append("(" + (checkPoint+1) + "/" + arr.length + ")" + arr[checkPoint] + "年"); init(); } }) function init() { //如果数组为空 if(arr.length==0){ //关闭时间轴弹窗 return false; } var timeZlineHTml = ""; var mmessageHtml = ""; var w = document.getElementById('line').clientWidth; lineWidth = ((w - (w * 0.15)) / arr.length); for (var m = 0; m < arr.length; m++) { timeZlineHTml += '
'; mmessageHtml += '
' + arr[ m] + '
'; } if (arr.length > 0) { timeZlineHTml += '
'; } $(".timeZline").empty(); $(".timeZline").append(timeZlineHTml + '
)
') $(".mmessage").empty(); $(".mmessage").append(mmessageHtml); $(".timeZline").find(".point").eq(checkPoint).append(""); DivClick(); leftNUmber = -checkPoint * lineWidth; console.log("initNUmber:"+leftNUmber); //判断div长度是否能容纳时间轴的长度 var divWidth = $(".line").width(); if (divWidth >= arr.length*lineWidth) { return ; } else { var f = Math.abs(leftNUmber); //超出的距离 var chaochu =parseInt(((arr.length) * lineWidth-divWidth) / lineWidth); leftNUmber = -(chaochu + 1) * lineWidth; $(".timeZline").css("margin-left", "" + leftNUmber + "px"); $(".mmessage").css("margin-left", "" + (leftNUmber - messageLefWidth) + "px"); } //设置轴的宽度 $(".eline").width(lineWidth); } function DivClick() { var year=""; $(".pre").click(function() { Pre(); }); $(".next").click(function() { Next(); }); $(".bf").click(function() { bf(); }); //点击差号 $(".tclose").click(function () { window.external.closeDialog("左下"); }); //上一步 function Pre() { //如果定时器在运行,清除定时器 if (setTime != null) { window.clearInterval(setTime); $(".bf").attr("src", "./img/bf.png"); if(checkPoint>0){ checkPoint--; } setTime = null; } $(".tyear").empty(); bfstate = false; if (checkPoint == 0) { year=$(".timeZline").find(".point").eq(checkPoint).attr("data-year"); $(".tyear").append("("+(checkPoint+1)+"/"+arr.length+")"+year+"年"); return false; } else { $(".point").empty(); $(".timeZline").find(".point").eq(checkPoint - 1).append(""); year = $(".timeZline").find(".point").eq(checkPoint - 1).attr("data-year"); $(".tyear").append("("+checkPoint+"/"+arr.length+")"+year+"年"); checkPoint = checkPoint - 1; } localStorage.setItem("CheckPointYear", year); sgworld.ProjectTree.SetVisibility("", false); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem("qinghai"), true); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem(rturl+"\\"+year), true); var divWidth = $(".line").width(); if (divWidth >= arr.length*lineWidth) { return false; } else { if (leftNUmber == 0|leftNUmber>0) { return false; } else { $(".timeZline").css("margin-left", "" + (leftNUmber + lineWidth) + "px"); $(".mmessage").css("margin-left", "" + (leftNUmber + lineWidth-messageLefWidth) + "px"); leftNUmber = leftNUmber + lineWidth; } } } //下一步 function Next() { if (setTime != null) { window.clearInterval(setTime); $(".bf").attr("src", "./img/bf.png"); if(checkPoint>0){ checkPoint--; } setTime=null; } bfstate = false; $(".point").empty(); $(".tyear").empty(); if ((checkPoint + 1) >= (arr.length - 1)) { $(".timeZline").find(".point").eq(arr.length - 1).append(""); checkPoint = arr.length - 1; year = $(".timeZline").find(".point").eq(arr.length - 1).attr("data-year"); $(".tyear").append("("+arr.length+"/"+arr.length+")"+year+"年"); } else { $(".timeZline").find(".point").eq(checkPoint + 1).append(""); checkPoint = checkPoint + 1; year = $(".timeZline").find(".point").eq(checkPoint).attr("data-year"); $(".tyear").append("("+(checkPoint+1)+"/"+arr.length+")"+year+"年"); } localStorage.setItem("CheckPointYear", year); sgworld.ProjectTree.SetVisibility("", false); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem("qinghai"), true); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem(rturl + "\\" + year), true); var divWidth = $(".line").width(); if (divWidth >= arr.length*lineWidth) { return false; } else { if ((Math.abs(leftNUmber) + $(".timeZline").width()) >= arr.length * (lineWidth)) { return false; } else { $(".timeZline").css("margin-left", "" + (leftNUmber - lineWidth) + "px"); $(".mmessage").css("margin-left", "" + (leftNUmber - lineWidth-messageLefWidth) + "px"); leftNUmber = leftNUmber - lineWidth; } } } var bfstate = false; var setTime = null; function bf() { if (bfstate == false) { //图标发生改变 $(".bf").attr("src","./img/zt.png"); leftNUmber=lineWidth; checkPoint = 0; setTime = setInterval(function() { var temNumber=0; $(".point").empty(); $(".tyear").empty(); if (checkPoint > (arr.length - 1)) { checkPoint = 0; } $(".timeZline").find(".point").eq(checkPoint).append(""); year=$(".timeZline").find(".point").eq(checkPoint).attr("data-year"); $(".tyear").append("(" + (checkPoint + 1) + "/" + arr.length + ")" + year + "年"); if((Math.abs(leftNUmber) + $(".timeZline").width()) >= arr.length * (lineWidth)){ leftNUmber = lineWidth; $(".timeZline").css("margin-left", "" + (leftNUmber - lineWidth) + "px"); $(".mmessage").css("margin-left", "" + (leftNUmber - lineWidth-messageLefWidth) + "px"); // temNumber=lineWidth; }else{ $(".timeZline").css("margin-left", "" + (leftNUmber - lineWidth) + "px"); $(".mmessage").css("margin-left", "" + (leftNUmber - lineWidth-messageLefWidth) + "px"); temNumber = leftNUmber - lineWidth; } localStorage.setItem("CheckPointYear", year); sgworld.ProjectTree.SetVisibility("", false); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem("qinghai"), true); sgworld.ProjectTree.SetVisibility(sgworld.ProjectTree.FindItem(rturl + "\\" + year), true); leftNUmber=temNumber; checkPoint++; }, 3000); bfstate = true; } else { $(".bf").attr("src","./img/bf.png"); if (setTime != null) { window.clearInterval(setTime); if(checkPoint>0){ checkPoint--; } setTime=null; } bfstate = false; } } }