PageSourceSearch

https://www.boatrace-toda.jp/assets/js/series_info.js

js boatrace-toda.jp collected 2026-10-02 11:14:59 UTC 8,209 bytes, 262 lines download raw bytes

1// =========================================
2// シリーズInfoファイル取得
3// =========================================
4
5var xmlSeriesInfo = null;
6const weekday = ["日","月","火","水","木","金","土"];
7var RACE_NO = 2;
8var FDATE = "";
9var KIKAN = 0;
10var RACE_NO_INIT = 0;
11var SYUSSOU_CUSTOM_POINT_FLG = null;
12
13var KEK_R = {};
14
15var KAISAI_CHUUSHI = 0;
16
17//seriesInfoXml取得
18function getXmlSeriesInfo() {
19  download('./xml/kaisai/' + DATE + '/series_info.xml', 'xml', function(xml) {
20    xmlSeriesInfo = xml;
21    setDataSeriesInfo();
22  });
23}
24
25//出走表PdfXmlファイル取得
26function getXmlRacePdf() {
27  download('./xml/race_table_pdf.xml', 'xml', function(xml) {
28    var open_xml = xml;
29    var last = $(open_xml).find("table").find("last").text();
30    if(last != ""){
31      $("*[name='race_teble_pdf_btn']").attr("href",last);
32    } else{
33      //最新のリンクがxmlに存在しない場合はサイト内出走表ページへリンク
34      $("*[name='race_teble_pdf_btn']").attr("href","./race/shusso_list.html");
35    }
36  }, function(){
37    //xmlが存在しない場合はサイト内出走表ページへリンク
38    $("*[name='race_teble_pdf_btn']").attr("href","./race/shusso_list.html");
39
40  });
41}
42
43function setDataSeriesInfo() {
44  FDATE = $(xmlSeriesInfo).find("open").find("fdate").text();
45  SYUSSOU_CUSTOM_POINT_FLG = $(xmlSeriesInfo).find("open").find("point").text();
46  var grade = $(xmlSeriesInfo).find("open").find("grade").text();
47  var nj = $(xmlSeriesInfo).find("open").find("nj").text();
48  const day_ms = 86400000;
49  var fdate = $(xmlSeriesInfo).find("open").find("fdate").text().match(/.{2}/g);
50  var tdate = $(xmlSeriesInfo).find("open").find("tdate").text().match(/.{2}/g);  
51  var kikan = "";
52
53  
54  $("*[name='open_race_grade']").removeClass("icon_other");
55  switch(grade) {
56    case "SG":
57      $("*[name='open_race_grade']").addClass("icon_SG");
58    break;
59    case "ï¼§I":
60    case "プレミアムGI":
61      $("*[name='open_race_grade']").addClass("icon_G1");
62      grade = "ï¼§I";
63    break;
64    case "GⅡ":
65      $("*[name='open_race_grade']").addClass("icon_G2");
66    break;
67    case "GⅢ":
68    case "オール女子":
69    case "マスターズリーグ":
70      $("*[name='open_race_grade']").addClass("icon_G3");
71      grade = "GⅢ";
72    break;
73    case "一般":
74    case "ルーキーシリーズ":
75    case "ヴィーナスシリーズ":
76    case "匠シリーズ":
77      $("*[name='open_race_grade']").addClass("icon_other");
78      grade = "一般";
79    break;
80  }
81  $("*[name='open_race_grade']").text(grade);
82  
83  if(nj == "1") {
84    $(".race_day").text("初日");
85  } else {
86    if($(xmlSeriesInfo).find("open").find("sflg").text() == "1") {
87      $(".race_day").text("最終日");
88    } else {
89      $(".race_day").text(nj + "日目");
90    }
91  }
92  
93  $(".ktitl").text($(xmlSeriesInfo).find("open").find("ktitl").text());
94  
95  fdate = fdate[0] + fdate[1] + "/" + fdate[2] + "/" + fdate[3];
96  fdate = new Date(fdate);
97  tdate = tdate[0] + tdate[1] + "/" + tdate[2] + "/" + tdate[3];
98  tdate = new Date(tdate);
99  
100  var hdate = fdate;
101  var period = ((tdate - fdate) / day_ms) + 1;
102  KIKAN = period;
103  
104  var date = hdate.getDate();
105  //月取得時のズレ補正
106  hdate.setDate(1);
107  var month = hdate.getMonth() + 1;
108  var beformonth = null;
109  hdate.setDate(date);
110  var day = weekday[hdate.getDay()];
111  
112  for(var i=1; i<=period; i++) {
113    
114    date = hdate.getDate();
115    //月取得時のズレ補正
116    hdate.setDate(1);
117    month = hdate.getMonth() + 1;
118    hdate.setDate(date);
119    day = weekday[hdate.getDay()];
120    
121    if(month==beformonth) {
122      kikan = kikan + date.toString();
123    } else {
124      kikan = kikan + "<span class='small mr-1'>" + month.toString() + " /</span>" + date.toString();
125    }
126    
127    if(day == "日") {
128      kikan = kikan + "<span class='week sun'>" + day + "</span>";
129    } else if(day == "土"){
130      kikan = kikan + "<span class='week sat'>" + day + "</span>";
131    } else {
132      kikan = kikan + "<span class='week'>" + day + "</span>";
133    }
134    
135    
136    beformonth = month;
137    hdate.setDate(date + 1);
138  }
139  
140  $(".kaisaikikan").html(kikan);
141  
142  //レース結果ボタンの更新
143  $("*[name='race_result_btn']").attr("data-result","race_result_0_" + $(xmlSeriesInfo).find("open").find("fdate").text() + "_" + $(xmlSeriesInfo).find("open").find("tdate").text());
144  //デフォルトのレースNoを設定
145  if(RACE_NO_INIT == 0) {
146    setDataDefaultRaceNo();
147    getXmlRacePdf();
148    RACE_NO_INIT = 1;
149  } else {
150    //画面表示つづき
151    setDataEndRaceNo();
152    getXmlRaceTable();
153    getXmlRaceTableBefore();
154    getXmlRaceTableForecast();
155    getXmlWeather();
156    getXmlRacePdf();
157  }
158}
159
160//デフォルトのレースNoを設定
161function setDataDefaultRaceNo() {
162  $(xmlSeriesInfo).find("open").each(function() {
163    var jcd = $(this).find("jcd").text();
164    
165    if(jcd == "02") {
166      
167      if($(this).find("cflg").text() == "1") {
168        //シリーズ中止
169        $("*[name='open_close_state']").html("開催中止");
170        $("*[name='open_close_state']").removeClass("open");
171        $("*[name='open_close_state']").addClass("stop");
172		$("#stop_cover").css("display", "block");
173		$(".raceview_r").css("display", "none");
174		$(".px-0 #disp01").css("display", "none");
175		$(".race_info").css("display", "none");
176		$(".race_tab").css("display", "none");
177		KAISAI_CHUUSHI = 1;
178      }
179      
180      //レース数取得
181      var rsu = parseInt($(this).find("rsu").text());
182      
183      for(var i=1; i<=rsu; i++) {
184        //現行レース確認
185        $("#race" + zero2(i)).removeClass("race_end");
186        $("#race" + zero2(i)).removeClass("race_active");
187        var check_race = $(this).find("race" + zero2(i)).attr("kek_r");
188        
189        KEK_R["race" + zero2(i)] = check_race;
190        //レース結果ありの場合はレースタブをエンドに切り替える
191        if(check_race == "1") {
192          
193          //レース結果あり
194          $("#race" + zero2(i)).addClass("race_end");
195          
196          //デフォルトで表示するレース番号を取得
197          if(i >= rsu) {
198            RACE_NO = rsu;
199            $("#race" + zero2(i)).addClass("race_active");
200          } else {
201            RACE_NO++;
202          }
203        } else {
204          //デフォルトで表示するレース番号を取得
205          RACE_NO = i;
206          $("#race" + zero2(i)).addClass("race_active");
207          
208          return;
209        }
210      }
211    
212    //出走表PDFリンク更新
213    
214    }
215  });
216  
217  //画面表示つづき
218  getXmlRaceTable();
219  getXmlRaceTableBefore();
220  getXmlRaceTableForecast();
221  getXmlWeather();
222  setEventCustom();
223}
224
225//結果が確定したレースタブを設定
226function setDataEndRaceNo() {
227  $(xmlSeriesInfo).find("open").each(function() {
228    var jcd = $(this).find("jcd").text();
229    
230    if(jcd == "02") {
231      
232      if($(this).find("cflg").text() == "1") {
233        //シリーズ中止
234        $("*[name='open_close_state']").html("開催中止");
235        $("*[name='open_close_state']").removeClass("open");
236        $("*[name='open_close_state']").addClass("stop");
237		$("#stop_cover").css("display", "block");
238		$(".raceview_r").css("display", "none");
239		$(".px-0 #disp01").css("display", "none");
240		$(".race_info").css("display", "none");
241		$(".race_tab").css("display", "none");
242
243		KAISAI_CHUUSHI = 1;
244      }
245      
246      //レース数取得
247      var rsu = parseInt($(this).find("rsu").text());
248      
249      for(var i=1; i<=rsu; i++) {
250        //現行レース確認
251        $("#race" + zero2(i)).removeClass("race_end");
252        var check_race = $(this).find("race" + zero2(i)).attr("kek_r");
253        //レース結果ありの場合はレースタブをエンドに切り替える
254        if(check_race == "1") {
255          //レース結果あり
256          $("#race" + zero2(i)).addClass("race_end");
257        }
258      }
259    }
260  });
261}
262

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.