//--------------------------------------------现场分析动态图------------------------------------------ var flashTimer; //定义namespace var _glflash = new Object(); //公共变量 _glflash.Domain = "$$"; _glflash.DataType = "!"; _glflash.SplitRecord = "^"; _glflash.SplitColumn = ","; //通用列表类 _glflash.List = function () { this.items = new Array(); this.keys = new Object(); this.Add = function (key, value) { if (typeof (key) != "undefined") { var vv = typeof (value) == "undefined" ? null : value; var idx = this.keys[key]; if (idx == null) { idx = this.items.length; this.keys[key] = idx; } this.items[idx] = vv; } } this.Get = function (key) { var idx = this.keys[key]; if (idx != null) return this.items[idx]; return null; } this.GetNum = function (key) { var i = 0; for (var k in this.keys) { if (key == k) return i; i++; } return null; } this.Clear = function () { for (var k in this.keys) { delete this.keys[k]; } delete this.keys; this.keys = null; this.keys = new Object(); for (var i = 0; i < this.items.length; i++) { delete this.items(i); } delete this.items; this.items = null; this.items = new Array(); } } _glflash.schedule = function (infoStr) { var arr = infoStr.split(_glflash.SplitRecord); this.sId = arr[0]; this.weather = arr[1]; this.temperature = arr[2]; if (typeof (arr[3]) == "undefined") arr[3] = ""; this.filed = arr[3].split(_glflash.SplitColumn); this.homeTeamID = arr[4]; this.guestTeamID = arr[5]; this.homeScore = arr[6]; this.guestScore = arr[7]; this.state = arr[8]; this.jsqScheduleCount = arr[9]; } //得失球类 _glflash.countDetail = function (infoStr) { var arr = infoStr.split(_glflash.SplitColumn); this.hjq = arr[0]; this.hsq = arr[1]; this.gjq = arr[2]; this.gsq = arr[3]; } _glflash.GoalsCount = function (sId, infoStr) { this.sId = sId; var countArr = infoStr.split(_glflash.SplitRecord); this.countList = new _glflash.List(); var countItem; for (var i = 0; i < countArr.length; i++) { countItem = new _glflash.countDetail(countArr[i]); this.countList.Add(i, countItem); } // this.count1 = counta[0].split(_glflash.SplitColumn); } _glflash.GraphData = function (sId, infoStr) { this.sId = sId; var infoArr = infoStr.split(_glflash.SplitColumn); this.Id = infoArr[0]; this.teamId = infoArr[1]; this.eventType = infoArr[2]; this.location = infoArr[3]; this.state = infoArr[4]; this.time = infoArr[5]; this.injuryTime = infoArr[6]; } _glflash.barDetail = function (infoStr) { var arr = infoStr.split(_glflash.SplitColumn); this.Id = arr[0]; this.dataType = arr[1]; this.teamID = arr[2]; this.eventType = arr[3]; this.time = arr[4]; } _glflash.statusBar = function (sId, infoStr) { infoStr = infoStr.replace("\n", ""); this.sId = sId; var arr = infoStr.split(_glflash.SplitRecord); this.barList1 = new _glflash.List(); this.barList2 = new _glflash.List(); this.barList3 = new _glflash.List(); var barItem; for (var i = 0; i < arr.length; i++) { barItem = new _glflash.barDetail(arr[i]); var detailArr = arr[i].split(_glflash.SplitColumn) if (detailArr.length > 2) { if (detailArr[1] == "1")//危险进攻(20)、射门(28,20) this.barList1.Add(detailArr[0], barItem); else if (detailArr[1] == "2")//角球 this.barList2.Add(detailArr[0], barItem); else//进球 this.barList3.Add(detailArr[0], barItem); } } } var flashData = new Object(); flashData.scheduleList = new _glflash.List(); flashData.jsqList_30 = new _glflash.List(); flashData.jsqList_50 = new _glflash.List(); flashData.graphList = new _glflash.List(); flashData.statusList = new _glflash.List(); var flashScheduleIDs = "", flashHomeScore = 0, flashGuestScore = 0;//通过flash事件来计算比分,一定程度上避免比分不同步的问题 function openFlash(id) { autoAnalyID = 0;//将自动展开的动态分析取消 if (flashScheduleIDs != "") closeFlash(flashScheduleIDs); flashScheduleIDs = id; var tr1 = document.getElementById("tr1_" + flashScheduleIDs); var flashSpan = $(tr1).find(".flash")[0]; flashSpan.innerHTML = flashSpan.innerHTML.replace("openFlash", "closeFlash").replace("show_info.png", "hide_info.png").replace((Config.language == 1 ? "現場分析" : "现场分析"), "收起"); var matchindex = tr1.attributes["index"].value; var homeScore = A[matchindex][13]; var guestScore = A[matchindex][14]; var matchState = A[matchindex][12]; if (homeScore != "") flashHomeScore = parseInt(homeScore); if (guestScore != "") flashGuestScore = parseInt(guestScore); document.getElementById("flashLive_" + flashScheduleIDs).innerHTML = loadFlashData(); if (flashData.scheduleList.items.length > 0) { document.getElementById("tr3_" + flashScheduleIDs).style.display = ""; runEvent(flashScheduleIDs, homeScore, guestScore, null, 0); if (parseInt(matchState) >= 0) getflashChange(); } } function closeFlash(id) { window.clearTimeout(flashTimer); var obj = document.getElementById("tr3_" + id); if (obj != null) obj.style.display = "none"; document.getElementById("flashLive_" + id).innerHTML = ""; var tr1 = document.getElementById("tr1_" + id); if (tr1 != null) { var flashSpan = $(tr1).find(".flash")[0]; flashSpan.innerHTML = flashSpan.innerHTML.replace("closeFlash", "openFlash").replace("hide_info.png", "show_info.png").replace("收起", (Config.language == 1 ? "現場分析" : "现场分析")); } flashData = new Object(); flashData.scheduleList = new _glflash.List(); flashData.jsqList_30 = new _glflash.List(); flashData.jsqList_50 = new _glflash.List(); flashData.graphList = new _glflash.List(); flashData.statusList = new _glflash.List(); oldCornerTime_H = 0, oldCornerTime_G = 0; flashScheduleIDs = ""; } function loadFlashData() { var oXmlFlashHttp = zXmlHttp.createRequest(); //oXmlFlashHttp.open("get", "data/schlive/latest.php?id=" + flashScheduleIDs + "&t=" + Date.parse(new Date()), false); oXmlFlashHttp.open("get", "data/schlive/latest.php?id=" + flashScheduleIDs, false); oXmlFlashHttp.send(null); oXmlFlashHttp.open("get", "data/schlive/latest/" + flashScheduleIDs + ".txt", false); oXmlFlashHttp.send(null); var data = oXmlFlashHttp.responseText; var doMains = data.split(_glflash.Domain); for (var i = 0; i < doMains.length; i++) { var oneSchedule = doMains[i].split(_glflash.DataType); if (oneSchedule.length < 4) continue; var arrSchedule = oneSchedule[0].split(_glflash.SplitRecord); var scheduleDetail = new _glflash.schedule(oneSchedule[0]); var oneJsq30 = new _glflash.GoalsCount(arrSchedule[0], oneSchedule[1]); var oneJsq50 = new _glflash.GoalsCount(arrSchedule[0], oneSchedule[2]); var oneflash = new _glflash.GraphData(arrSchedule[0], oneSchedule[3]); var oneStatus = new _glflash.statusBar(arrSchedule[0], oneSchedule[4]); flashData.scheduleList.Add(arrSchedule[0], scheduleDetail); flashData.jsqList_30.Add(arrSchedule[0], oneJsq30); flashData.jsqList_50.Add(arrSchedule[0], oneJsq50); flashData.graphList.Add(arrSchedule[0], oneflash); flashData.statusList.Add(arrSchedule[0], oneStatus); } return showFlashLive(flashScheduleIDs); } function showFlashLive(sId) { var html = new Array(); html.push('
'); html.push('
'); html.push(makeJsq(sId, 1)); html.push(makeJsq(sId, 2)); html.push('
'); html.push('
'); html.push(makeFlashEvent(sId)); html.push('
'); html.push(makeStatus(sId)); html.push('
'); return html.join(""); } function makeJsq(sId, t) { var scheduleDetail = flashData.scheduleList.Get(sId); var jsqList = t == 1 ? flashData.jsqList_30.Get(sId) : flashData.jsqList_50.Get(sId); if (!jsqList || jsqList.countList.length == 0) return ""; if (t == 2 && scheduleDetail.jsqScheduleCount <= 30) return ""; var coumnList = "1-15,16-30,31-45,46-60,61-75,76-90".split(','); var html = new Array(); html.push(''); html.push(''); if (scheduleDetail.jsqScheduleCount > 30) html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); for (var i = 0; i < jsqList.countList.items.length; i++) { var arrhjq = jsqList.countList.items[i].hjq.split(';'); var arrhsq = jsqList.countList.items[i].hsq.split(';'); var arrgjq = jsqList.countList.items[i].gjq.split(';'); var arrgsq = jsqList.countList.items[i].gsq.split(';'); //20% html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); html.push(''); } html.push(''); return html.join(""); } function changeJsq(sId, t) { document.getElementById("JSQ_" + sId + (t == 1 ? "_50" : "_30")).style.display = "none"; document.getElementById("JSQ_" + sId + (t == 1 ? "_30" : "_50")).style.display = ""; } function makeFlashEvent(sId) { var scheduleDetail = flashData.scheduleList.Get(sId); if (!scheduleDetail) return ""; var homeTeam = getTeamHtmlName(sId, 0); var guestTeam = getTeamHtmlName(sId, 1); var html = new Array(); html.push('
'); html.push('
' + homeTeam); html.push('
控球
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + guestTeam); html.push('
控球
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push(''); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "點球" : "点球") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
任意球
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "危險任意球" : "危险任意球") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "球門球" : "球门球") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
越位
'); html.push('
'); html.push(''); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
角球
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
界外球
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "先開球" : "先开球") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "射正球門" : "射正球门") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "射門被阻擋" : "射门被阻挡") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "射偏球門" : "射偏球门") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + (Config.language == 1 ? "射中門框" : "射中门框") + '
'); html.push('
'); html.push('
'); html.push('
'); html.push('
' + homeTeam + '
'); html.push('
' + guestTeam + '
'); html.push('
'); if (scheduleDetail.temperature != '' || scheduleDetail.filed[0].length > 3 || scheduleDetail.weather != "") { html.push('
'); if (scheduleDetail.filed[0].length > 3) { html.push((Config.language == 1 ? "場地" : "场地") + ' : ' + (Config.language == 1 ? scheduleDetail.filed[1] : scheduleDetail.filed[0])); html.push('
'); } if (scheduleDetail.weather != "") html.push('天' + (Config.language == 1 ? "氣" : "气") + ' : ' + scheduleDetail.weather + ' '); if (scheduleDetail.temperature != "") html.push((Config.language == 1 ? "溫" : "温") + '度 : ' + scheduleDetail.temperature); html.push('
'); } html.push('
'); html.push('
'); return html.join(""); } var flashMsg = new Array(39); flashMsg[2] = "上半场结束,上半場結束,上半场结束".split(','); flashMsg[3] = "下半场开始,下半場開始,下半场开始".split(','); flashMsg[4] = "完场,完場,完场".split(','); flashMsg[5] = "受伤,受傷,受伤".split(','); flashMsg[6] = "加时上半场,加時上半場,加时上半场".split(','); flashMsg[7] = "加时半场,加時半場,加时半场".split(','); flashMsg[8] = "加时下半场,加時下半場,加时下半场".split(','); flashMsg[9] = "加时完场,加時完場,加时完场".split(','); flashMsg[10] = "点球决胜,點球決勝,点球决胜".split(','); flashMsg[30] = "替补,替補,替补".split(','); flashMsg[36] = "射失点球,射失點球,射失点球".split(','); flashMsg[37] = "犯规,犯規,犯规".split(','); flashMsg[38] = "进球无效,進球無效,进球无效".split(','); function runEvent(sId, homeScore, guestScore, oneflash, flashNum) { if (oneflash != null) flashData.graphList.items[flashNum] = oneflash; var list = flashData.graphList.Get(sId); var scheduleDetail = flashData.scheduleList.Get(sId); if (!scheduleDetail) return; var teamType = scheduleDetail.homeTeamID == list.teamId ? 0 : 1; if (scheduleDetail.state == 0) defaultInfo(sId); else { switch (parseInt(list.eventType)) { case 1: star(sId, teamType); break; case 2: case 3: case 4: case 5: case 6: case 7: case 8: case 9: case 10: case 30: case 37: case 38: showMsg(sId, flashMsg[list.eventType][Config.language]); break; case 20: dangerousAttack(sId, teamType); break; case 21: attack(sId, teamType); break; case 22: ctrl(sId, teamType); break; case 23: ballIn(sId, teamType, scheduleDetail.homeScore, scheduleDetail.guestScore); break; case 24: case 25: var cardType = list.eventType == 25 ? 'red' : 'yellow'; foul(sId, cardType, teamType); break; case 26: DBall(sId, teamType); break; case 27: pointBall(sId, teamType); break; case 28: shotIn(sId, teamType); break; case 29: shotOut(sId, teamType); break; case 31: offside(sId, teamType); break; case 32: autoBall(sId, teamType); break; case 33: lineBall(sId, list.location, teamType); break; case 34: var direction; if (list.location > 0) { if (teamType == 0) direction = list.location == 1 ? 1 : 2; else direction = list.location == 1 ? 0 : 3; } else { direction = teamType == 0 ? 1 : 3; } cornerBall(sId, direction, teamType); break; case 35: pointBallIn(sId, teamType, scheduleDetail.homeScore, scheduleDetail.guestScore); break; case 36: showPointBallMsg(sId, flashMsg[36][Config.language]); break; case 39: DAutoBall(sId, teamType); break; case 40: stopIt(sId, teamType); break; case 41: shotLost(sId, teamType); break; case 42: var msg = (list.injuryTime > 0 ? (Config.language == 1 ? "補時" : "补时") + list.injuryTime + (Config.language == 1 ? "分鐘" : "分钟") : (Config.language == 1 ? "傷停補時" : "伤停补时")); showMsg(sId, msg); break; } } } function setStatusTimeLine(minutes, state, sId) { if (state == "2") minutes = 45; if (state == "-1" || parseInt(state) > 3) minutes = 90; if (state == "-1" && minutes > 45) minutes = 45; if (minutes > 95) minutes = 95; try { document.getElementById("timeLine_" + sId).style.left = getStatusPosition(0, minutes) + "px"; } catch (e) { } } var oldCornerTime_H = 0, oldCornerTime_G = 0; function makeStatus(sId) { var html = new Array(); var homeHtml = new Array(); var guestHtml = new Array(); var oneStatus = flashData.statusList.Get(sId); var scheduleDetail = flashData.scheduleList.Get(sId); if (!scheduleDetail) return ""; var state = parseInt(scheduleDetail.state); var listGraph = oneStatus.barList1;//20 a; 28,29 s; var listCorner = oneStatus.barList2;//f var listGoal = oneStatus.barList3;//b html.push('
'); html.push('
'); if (state >= -1) { var minutes = $("#time_" + sId).text(); if (state == 2) minutes = 45; if (state == -1 || state > 3) minutes = 90; if (minutes == '90+') minutes = 90; if (state == 1 && minutes != '' && minutes == '45+') minutes = 45; if (minutes == "中") minutes = 45; html.push('
');// } for (var i = 0; i < listGraph.items.length; i++) { var num = getStatusPosition(listGraph.items[i].eventType, listGraph.items[i].time); var onei = ''; if (scheduleDetail.homeTeamID == listGraph.items[i].teamID) homeHtml.push(onei); else guestHtml.push(onei); } for (var i = 0; i < listCorner.items.length; i++) { var num = getStatusPosition(listCorner.items[i].eventType, listCorner.items[i].time); if (scheduleDetail.homeTeamID == listCorner.items[i].teamID) { if (num - oldCornerTime_H <= 3) num += 3 - (num - oldCornerTime_H); var onei = ''; homeHtml.push(onei); oldCornerTime_H = num; } else { if (num - oldCornerTime_G <= 3) num += 3 - (num - oldCornerTime_G); var onei = ''; guestHtml.push(onei); oldCornerTime_G = num; } } for (var i = 0; i < listGoal.items.length; i++) { var num = getStatusPosition(listGoal.items[i].eventType, listGoal.items[i].time); var onei = ''; if (scheduleDetail.homeTeamID == listGoal.items[i].teamID) homeHtml.push(onei); else guestHtml.push(onei); } html.push('
'); html.push(homeHtml.join("")); html.push('
'); html.push('
'); html.push(guestHtml.join("")); html.push('
'); html.push('
'); html.push('
'); return html.join(""); } function getStatusPosition(t, time) { var imgWidth = 0; switch (parseInt(t)) { case 20: case 28: case 29: imgWidth = 2; break; case 1: case 7: case 8: case 9: imgWidth = 14; break; case 0: imgWidth = 7; break; } return parseInt(time / 90 * 227 - imgWidth / 2); } var xmlFlash = zXmlHttp.createRequest(); function getflashChange() { try { //xmlFlash.open("get", "/data/schlive/detail.php?id=" + flashScheduleIDs + "&t=" + Date.parse(new Date()), false); xmlFlash.open("get", "/data/schlive/detail.php?id=" + flashScheduleIDs, false); xmlFlash.send(null); xmlFlash.open("get", "/data/schlive/detail/" + flashScheduleIDs + ".txt", true); xmlFlash.onreadystatechange = flashRefresh; xmlFlash.send(null); } catch (e) { } flashTimer = window.setTimeout("getflashChange()", 2000); } var __sto = setTimeout; window.setTimeout2 = function (callback, timeout, param) { var args = Array.prototype.slice.call(arguments, 2); var _cb = function () { callback.apply(null, args); } __sto(_cb, timeout); } function flashRefresh() { if (xmlFlash.readyState != 4 || (xmlFlash.status != 200 && xmlFlash.status != 0)) return; if (oldXML == xmlFlash.responseText) return oldXML = xmlFlash.responseText; var arr; var changeIDList = ","; var playFlash = false; //亚指 if (xmlFlash.responseText == null || xmlFlash.responseText.replace("\n", "") == "") return; var data = xmlFlash.responseText.replace("\n", ""); var doMains = data.split(_glflash.Domain); for (var i = 0; i < doMains.length; i++) { var oneSchedule = doMains[i].split(_glflash.DataType); var arrSchedule = oneSchedule[0].split(_glflash.SplitRecord); if (arrSchedule.length < 4) return; var scheduleDetail = flashData.scheduleList.Get(arrSchedule[0]); scheduleDetail.homeScore = parseInt(arrSchedule[1]); scheduleDetail.guestScore = parseInt(arrSchedule[2]); scheduleDetail.state = parseInt(arrSchedule[3]); var tr1 = document.getElementById("tr1_" + arrSchedule[0]); var homeScore = 0, guestScore = 0; if (tr1 != null) { var matchindex = tr1.attributes["index"].value; homeScore = A[matchindex][13]; guestScore = A[matchindex][14]; } if (typeof (oneSchedule[1]) != "undefined" && oneSchedule[1] != "") { var arrLive = oneSchedule[1].split(_glflash.SplitRecord); var flashNum = flashData.graphList.GetNum(arrSchedule[0]); var oldFlash = flashData.graphList.items[flashNum]; var startNum = 0; for (var j = 0; j < arrLive.length; j++) { var onearr = arrLive[j].split(_glflash.SplitColumn); if (onearr.length < 3) continue; var oneflash = new _glflash.GraphData(arrSchedule[0], arrLive[j]); if (oldFlash.Id == "" || (oldFlash.Id != "" && parseInt(oldFlash.Id) < parseInt(oneflash.Id))) { oldFlash = oneflash; var overTime = 500 * startNum; //window.setTimeout("runEvent(" + oneflash.sId + "," + homeScore + "," + guestScore + ",'" + oneflash + "'," + flashNum + ")", overTime);//避免动画消失太快 if (oneflash.eventType == 23) { var scheduleDetail = flashData.scheduleList.Get(arrSchedule[0]); scheduleDetail.homeScore = parseInt(onearr[7]); scheduleDetail.guestScore = parseInt(onearr[8]); } window.setTimeout2(runEvent, overTime, oneflash.sId, homeScore, guestScore, oneflash, flashNum);//避免动画消失太快 startNum++; } } } if (typeof (oneSchedule[2]) != "undefined" && oneSchedule[2] != "") { var arrStatus = oneSchedule[2].split(_glflash.SplitRecord); var statusNum = flashData.statusList.GetNum(arrSchedule[0]); var oldStatus = flashData.statusList.items[statusNum]; for (var j = 0; j < arrStatus.length; j++) { // var oneStatus = new _glflash.statusBar(arrSchedule[0], arrStatus[j]); var oneStatus = new _glflash.barDetail(arrStatus[j]); var onearr = arrStatus[j].split(_glflash.SplitColumn); if (onearr.length < 3) continue; var oldStatusItem1 = oldStatus.barList1.items[oldStatus.barList1.items.length - 1]; if (onearr[1] == "1" && (typeof (oldStatusItem1) == "undefined" || (typeof (oldStatusItem1) != "undefined" && parseInt(oldStatusItem1.Id) < parseInt(oneStatus.Id)))) { flashData.statusList.items[statusNum].barList1.Add(arrSchedule[0], oneStatus); var num = getStatusPosition(oneStatus.eventType, oneStatus.time); var onei = ''; if (scheduleDetail.homeTeamID == oneStatus.teamID) document.getElementById("homeLine_" + arrSchedule[0]).innerHTML += onei; else document.getElementById("guestLine_" + arrSchedule[0]).innerHTML += onei; } var oldStatusItem2 = oldStatus.barList2.items[oldStatus.barList2.items.length - 1]; if (onearr[1] == "2" && (typeof (oldStatusItem2) == "undefined" || (typeof (oldStatusItem2) != "undefined" && parseInt(oldStatusItem2.Id) < parseInt(oneStatus.Id)))) { flashData.statusList.items[statusNum].barList2.Add(arrSchedule[0], oneStatus); var num = getStatusPosition(oneStatus.eventType, oneStatus.time); if (scheduleDetail.homeTeamID == oneStatus.teamID) { if (num - oldCornerTime_H <= 3) num += 3 - (num - oldCornerTime_H); var onei = ''; document.getElementById("homeLine_" + arrSchedule[0]).innerHTML += onei; oldCornerTime_H = num; } else { if (num - oldCornerTime_G <= 3) num += 3 - (num - oldCornerTime_G); var onei = ''; document.getElementById("guestLine_" + arrSchedule[0]).innerHTML += onei; oldCornerTime_G = num; } } var oldStatusItem3 = oldStatus.barList3.items[oldStatus.barList3.items.length - 1]; if (onearr[1] == "3" && (typeof (oldStatusItem3) == "undefined" || (typeof (oldStatusItem3) != "undefined" && parseInt(oldStatusItem3.Id) < parseInt(oneStatus.Id)))) { flashData.statusList.items[statusNum].barList3.Add(arrSchedule[0], oneStatus); var num = getStatusPosition(oneStatus.eventType, oneStatus.time); var onei = ''; if (scheduleDetail.homeTeamID == oneStatus.teamID) document.getElementById("homeLine_" + arrSchedule[0]).innerHTML += onei; else document.getElementById("guestLine_" + arrSchedule[0]).innerHTML += onei; } } } } } /*动画*/ var isHomeTeamAttack = false; var isAttack = false; var teamType = ["home", "guest"]; var init = function (mid) { $(".liveBox div").stop(true, true, true); $("#ballIn_" + mid).fadeOut(300); $("#cornerBall_" + mid).fadeOut(300); $("#lineBall_" + mid).fadeOut(300); $("#pointBall_" + mid).fadeOut(300); $("#star_" + mid).fadeOut(300); $("#autoBall_" + mid).fadeOut(300); $("#DAutoBall_" + mid).fadeOut(300); $("#foul_" + mid).fadeOut(300); $("#default_" + mid).fadeOut(300); $("#msg_" + mid).fadeOut(300); $("#shotIn_" + mid).fadeOut(300); $("#stopIt_" + mid).fadeOut(300); $("#shotOut_" + mid).fadeOut(300); $("#shotLost_" + mid).fadeOut(300); $("#DBall_" + mid).fadeOut(300); $("#offside_" + mid).fadeOut(300); if (isHomeTeamAttack || !isAttack) { $("#guestEventBox_" + mid).fadeOut(300); } if (!isHomeTeamAttack || !isAttack) { $("#homeEventBox_" + mid).fadeOut(300); } isHomeTeamAttack = false; isAttack = false; }; function getTeamHtmlName(mid, type) { return $("#team" + (type + 1) + "_" + mid).text().replace("(中)", ""); } var resetTeamPostion = function (mid, eventBox, type, num, index) { eventBox.show(); if (type == "0") { eventBox.find(".team").animate({ right: num }); } else { eventBox.find(".team").animate({ left: num }); } var ctrlBG = $("#" + teamType[type] + "CtrlBG_" + mid); var attackBG = $("#" + teamType[type] + "AttackBG_" + mid); var DAttackBG = $("#" + teamType[type] + "DAttackBG_" + mid); if (index == 0) { eventBox.find(".ball").text("控球"); attackBG.hide(); DAttackBG.hide(); ctrlBG.fadeIn(); } else if (index == 1) { eventBox.find(".ball").text("进攻"); ctrlBG.hide(); DAttackBG.hide(); attackBG.fadeIn(); } else if (index == 2) { eventBox.find(".ball").text("危险进攻"); ctrlBG.hide(); attackBG.hide(); DAttackBG.fadeIn(); } } var ctrl = function (mid, type) { isHomeTeamAttack = (type == "0"); isAttack = true; init(mid); var eventBox = $("#" + teamType[type] + "EventBox_" + mid); eventBox.animate({ width: '40%' }, 300); resetTeamPostion(mid, eventBox, type, "5px", 0); }; var attack = function (mid, type) { isHomeTeamAttack = (type == "0"); isAttack = true; init(mid); var eventBox = $("#" + teamType[type] + "EventBox_" + mid); eventBox.animate({ width: '65%' }, 300); resetTeamPostion(mid, eventBox, type, "28px", 1); }; var dangerousAttack = function (mid, type) { isHomeTeamAttack = (type == "0"); isAttack = true; init(mid); var eventBox = $("#" + teamType[type] + "EventBox_" + mid); eventBox.animate({ width: '85%' }, 300); resetTeamPostion(mid, eventBox, type, "28px", 2); }; var ballIn = function (mid, type, homeScore, guestScore) { init(mid); //var eventBox = $("#"+teamType[type]+"EventBox_"+mid); //eventBox.css("width","0px"); var ballInObj = $("#ballIn_" + mid); ballInObj.attr("class", "ballIn_" + type); if (type == '0')//主队进球 { ballInObj.html('' + homeScore + ' - ' + guestScore + ''); } else { ballInObj.html('' + homeScore + ' - ' + guestScore + ''); } ballInObj.show(); }; var foul = function (mid, cradType, type) { init(mid); //var eventBox = $("#"+teamType[type]+"EventBox_"+mid); //eventBox.css("width","0px"); var foulObj = $("#foul_" + mid); if (cradType == 'red')//主队进球 { foulObj.html(' ' + getTeamHtmlName(mid, type) + ''); } else { foulObj.html(' ' + getTeamHtmlName(mid, type) + ''); } foulObj.fadeIn(); }; var DBall = function (mid, type) { init(mid); var autoBallObj = $("#DBall_" + mid); autoBallObj.attr("class", "DBall_" + type); autoBallObj.find(".teamName").text(getTeamHtmlName(mid, type)); autoBallObj.fadeIn(); }; var autoBall = function (mid, type) { init(mid); var autoBallObj = $("#autoBall_" + mid); autoBallObj.attr("class", "autoBall_" + type); autoBallObj.find(".teamName").text(getTeamHtmlName(mid, type)); autoBallObj.fadeIn(); }; var DAutoBall = function (mid, type) { init(mid); var autoBallObj = $("#DAutoBall_" + mid); autoBallObj.attr("class", "DAutoBall_" + type); autoBallObj.find(".teamName").text(getTeamHtmlName(mid, type)); autoBallObj.fadeIn(); }; var offside = function (mid, type) { init(mid); var autoBallObj = $("#offside_" + mid); autoBallObj.attr("class", "offside_" + type); autoBallObj.find(".teamName").text(getTeamHtmlName(mid, type)); autoBallObj.fadeIn(); }; var cornerBall = function (mid, direction, type) {//direction 0,1,2,3 左上,右上,右下,左下 init(mid); var cornerBallObj = $("#cornerBall_" + mid); cornerBallObj.attr("class", "cornerBall_" + direction); cornerBallObj.find(".teamName").text(getTeamHtmlName(mid, type)); cornerBallObj.fadeIn(); }; var lineBall = function (mid, postionID, type) {//postionID = 0,1,2,3 分别代表位置级别 init(mid); var lineBallObj = $("#lineBall_" + mid); var top_up = (type == 1 && postionID == 0) ? 2 : type; lineBallObj.attr("class", "lineBall_" + top_up); var p = postionID != 0 ? postionID - 1 : postionID; var dir = type == 0 ? "left" : "right"; var del = type != 0 ? "left" : "right"; lineBallObj.css(del, "auto"); lineBallObj.css(dir, (56 + p * 44) + "px"); lineBallObj.find(".teamName").text(getTeamHtmlName(mid, type)); lineBallObj.fadeIn(); }; var star = function (mid, type) { init(mid); var starObj = $("#star_" + mid); starObj.find(".teamName").text(getTeamHtmlName(mid, type)); starObj.fadeIn(); }; var defaultInfo = function (mid) { init(mid); var defaultObj = $("#default_" + mid); defaultObj.fadeIn(); }; var showMsg = function (mid, str) { init(mid); var defaultObj = $("#msg_" + mid); defaultObj.html(str); defaultObj.fadeIn(); }; var shotIn = function (mid, type) { init(mid); var defaultObj = $("#shotIn_" + mid); defaultObj.find(".teamName").text(getTeamHtmlName(mid, type)); defaultObj.fadeIn(); }; var stopIt = function (mid, type) { init(mid); var defaultObj = $("#stopIt_" + mid); defaultObj.find(".teamName").text(getTeamHtmlName(mid, type)); defaultObj.fadeIn(); }; var shotOut = function (mid, type) { init(mid); var defaultObj = $("#shotOut_" + mid); defaultObj.find(".teamName").text(getTeamHtmlName(mid, type)); defaultObj.fadeIn(); }; var shotLost = function (mid, type) { init(mid); var defaultObj = $("#shotLost_" + mid); defaultObj.find(".teamName").text(getTeamHtmlName(mid, type)); defaultObj.fadeIn(); }; var showMsg = function (mid, str) { init(mid); var defaultObj = $("#msg_" + mid); defaultObj.html(str); var h = defaultObj.height(); defaultObj.css("margin-top", 0 - h / 2 + "px"); defaultObj.fadeIn(); }; var showPointBallMsg = function (mid, str) { var defaultObj = $("#msg_" + mid); defaultObj.html(str); var h = defaultObj.height(); defaultObj.css("margin-top", 0 - h / 2 + "px"); defaultObj.fadeIn(); }; var pointBall = function (mid, type) { init(mid); var pointBall = $("#pointBall_" + mid); pointBall.attr("class", "pointBall_" + type); pointBall.find(".teamName").text(getTeamHtmlName(mid, type)); pointBall.fadeIn(); }; var pointBallIn = function (mid, type, homeScore, guestScore) { var ballInObj = $("#ballIn_" + mid); if (type = '0')//主队进球 { ballInObj.html('' + homeScore + ' - ' + guestScore + ''); } else { ballInObj.html('' + homeScore + ' - ' + guestScore + ''); } ballInObj.show(); };