1const BPMax767 = window.matchMedia('(max-width:767px)'); 2const BPMax1024 = window.matchMedia('(max-width:1024px)'); 3const BPMin768 = window.matchMedia('(min-width:768px)'); 4const BPMin1025 = window.matchMedia('(min-width:1025px)'); 5 6$(function(){ 7 checkTelLink(); 8 9 // getDevice 10 function getDevice() { 11 var ua = navigator.userAgent.toLowerCase(); 12 if ((ua.indexOf('iphone') != -1) || ua.indexOf('ipod') != -1 || (ua.indexOf("android") != -1 && ua.indexOf("mobile") != -1) || (ua.indexOf("firefox") != -1 && ua.indexOf("mobile") != -1) || (ua.indexOf("windows") != -1 && ua.indexOf("phone") != -1)) { 13 return 'sp'; 14 }else if(ua.indexOf('iPad') > 0 || ua.indexOf('Android') > 0){ 15 return 'tab'; 16 }else{ 17 return 'other'; 18 } 19 } 20 21 // checkTelLink 22 function checkTelLink() { 23 if(getDevice() == 'other') { 24 $('a[href^="tel:"]').removeAttr('href').css('text-decoration', 'none'); 25 } 26 } 27 28 const allWrap = $('.allWrap'); 29 const headerContainer = $('.headerContainer'); 30 const footerContainer = $('.footerContainer'); 31 const fixingReserveButton = headerContainer.find('.fixingReserveButton'); 32 const fixingInputArea = headerContainer.find('.fixingInputArea'); 33 const fixingInputAreaInner = fixingInputArea.find('.inner'); 34 const fixingInputAreaTabs = fixingInputArea.find('.inputAreaTabs li'); 35 const fixingBestRate = headerContainer.find('.fixingBestRate'); 36 const bestRateLogo = headerContainer.find('.bestRateLogo'); 37 const commonBestRateIcon01 = $('main .commonBestRateIcon01'); 38 const topSubMenuButtonOpen = headerContainer.find('.gnav-open-btn'); 39 const topSubMenuButtonClose = headerContainer.find('.gnav-close-btn'); 40 const subMenuArea = headerContainer.find('.subMenuArea'); 41 const headerOverlay = headerContainer.find('.overlay'); 42 43 let bestRateKey = 'bestRateKey'; 44 let bestRateValue = window.localStorage.getItem(bestRateKey); 45 46 if(bestRateValue !== 'close'){ 47 if(commonBestRateIcon01.length){ 48 commonBestRateIcon01.show(); 49 } 50 } 51 52 function no_scroll(){ 53 document.addEventListener("mousewheel", scroll_control, { passive: false }); 54 document.addEventListener("touchmove", scroll_control, { passive: false }); 55 } 56 function return_scroll(){ 57 document.removeEventListener("mousewheel", scroll_control, { passive: false }); 58 document.removeEventListener('touchmove', scroll_control, { passive: false }); 59 } 60 function scroll_control(event){event.preventDefault();} 61 62 63//smoothScroll 64 $(document).on('click', 'a.scroll', function(e) { 65 e.preventDefault(); 66 const page = location.pathname; 67 const targetHref = $(this).attr('href'); 68 const target = $(targetHref == '#' || targetHref == '' ? 'html' : targetHref); 69 let headerH = 0; 70 let targetCoord = target.offset().top; 71 72 if (window.matchMedia('(min-width: 768px)').matches) { 73 headerH = $('.headerContainer').innerHeight(); 74 } else { 75 if($('#top').length){ 76 if (subMenuArea.hasClass('open')) { 77 subMenuArea.removeClass('active'), $('html').removeClass('scroll-lock'); 78 headerOverlay.stop(true,true).fadeOut(300); 79 } 80 81 if(targetHref == '#hotelList'){ 82 headerH = $('.headerContainer').innerHeight() + 40; 83 } else { 84 headerH = $('.headerContainer').innerHeight() - 20; 85 } 86 } else { 87 headerH = $('.headerContainer').innerHeight(); 88 } 89 } 90 91 $('html,body').animate({scrollTop:targetCoord - headerH}, 500); 92 }); 93 94 95//popup 96 $('.popup').click(function(e){ 97 e.preventDefault(); 98 window.open(this.href,'null','scrollbars=yes,resizable=yes,width=800,height=800'); 99 }); 100 101 102//hover 103 $('.hover').on({ 104 mouseenter: function(){ 105 const onSrc = $(this).find('img').attr('src').replace('_off', '_on'); 106 if($('.menuBtn').is(':hidden')){$(this).find('img').attr('src', onSrc);} 107 }, 108 mouseleave: function(){ 109 const offSrc = $(this).find('img').attr('src').replace('_on', '_off'); 110 if($('.menuBtn').is(':hidden')){$(this).find('img').attr('src', offSrc);} 111 } 112 }); 113 114 115//siteHeader scroll slideUp 116 $(window).on('load resize scroll', function(){ 117 if($(window).scrollTop() >= 100){ 118 headerContainer.addClass('menuAreaHidden'); 119 }else{ 120 headerContainer.removeClass('menuAreaHidden'); 121 } 122 }); 123 124 125//modalOpen 126 const commonModalTrigger = $('.modalOpen'); 127 commonModalTrigger.on('click', function(e){ 128 e.preventDefault(); 129 const targetData = $(this).data('target'); 130 const targetModal = '#' + targetData; 131 132 if(targetData === 'channelModal'){ 133 const movieId = $(this).data('movieId'); 134 const movieIfame = '<iframe src="https://www.youtube.com/embed/' + movieId + '" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen></iframe>'; 135 136 $(targetModal).find('.movieArea').html(movieIfame); 137 $(targetModal).prepend('<div class="modalCloseButton"></div>'), $(targetModal).append('<div class="modalOverlay"></div>'); 138 $(targetModal).fadeIn(200), $(targetModal).addClass('open'); 139 }else{ 140 $(targetModal).prepend('<div class="modalCloseButton"></div>'), $(targetModal).append('<div class="modalOverlay"></div>'); 141 $(targetModal).fadeIn(200), $(targetModal).addClass('open'); 142 } 143 144 }); 145 146 $(document).on('click', '.modalCloseButton', function(){ 147 const parentModal = $(this).parent('.commonModalArea'); 148 parentModal.fadeOut('200', function(){ 149 parentModal.find('.modalCloseButton, .modalOverlay').remove(); 150 if(parentModal.find('iframe').length){parentModal.find('iframe').remove();} 151 }); 152 }); 153 154 $(document).on('click', '.modalOverlay', function(){ 155 const parentModal = $(this).parent('.commonModalArea'); 156 parentModal.fadeOut('200', function(){ 157 parentModal.find('.modalCloseButton, .modalOverlay').remove(); 158 if(parentModal.find('iframe').length){parentModal.find('iframe').remove();} 159 }); 160 }); 161 162 163//inputModal modalOpen 164 function toggleFixingReserveButton() { 165 if (window.matchMedia('(min-width: 768px)').matches) {
166 if (!$('#hotelsDetail').length || $('#js-unnanTsuruga').length) { 167 fixingReserveButton.show(); 168 } 169 } else { 170 if (!$('#hotelsDetail').length || $('#js-unnanTsuruga').length) { 171 if ($(window).scrollTop() >= 100) { 172 fixingReserveButton.fadeIn(200); 173 fixingReserveButton.addClass('buttonShow'); 174 } else { 175 fixingReserveButton.fadeOut(200); 176 fixingReserveButton.removeClass('buttonShow'); 177 } 178 } 179 } 180 } 181 182 const inputModal = $('.inputModal'); 183 const inputNumberSelect = inputModal.find('.numberSelect'); 184 const inputModalTrigger = $('.inputModalOpen'); 185 inputModalTrigger.on('click', function(e){ 186 e.preventDefault(); 187 const targetModal = '#' + $(this).data('target'); 188 const parrentWrapper = $(this).parent('.inputWrapper'); 189 $(this).next('.inputModal').prepend('<div class="inputModalCloseButton"></div>')/*, $('main').addClass('inputModalMode')*/; 190 fixingReserveButton.fadeOut(200), fixingBestRate.fadeOut(200); 191 $(targetModal).fadeIn(200).css({display: 'flex'})/*, $(targetModal).addClass('open')*/; 192 }); 193 194 $(document).on('click', '.inputModalCloseButton', function(){ 195 const parentModal = $(this).parent('.inputModal'); 196 toggleFixingReserveButton(); 197 if(bestRateValue !== 'close'){ 198 fixingBestRate.fadeIn(200); 199 } 200 parentModal.fadeOut('200', function(){ 201 parentModal.find('.inputModalCloseButton').remove()/*, $('main').removeClass('inputModalMode')*/; 202 }); 203 }); 204 205 $(window).on('load resize scroll', toggleFixingReserveButton); 206 207 //datepicker 208 const datepickerHotel = $('.js-datepickerHotel'); 209 const datepickerAirPort = $('.js-datepickerAirPort'); 210 const cal = document.getElementsByClassName('js-wel'); 211 let today; 212 let todayAir; 213 let mindayAir; 214 215 const openDay = datepickerHotel.data('openday'); 216 const defaultDay = $('#js-todyDate').val(); 217 const defaultDayISO = defaultDay.replace(/\//g, '-'); 218 const defaultDate = new Date(defaultDayISO); 219 220 if (openDay) { 221 const openDayStr = String(openDay); 222 const formatted = openDayStr.replace(/(\d{4})(\d{2})(\d{2})/, '$1/$2/$3'); 223 const openDateISO = openDayStr.replace(/(\d{4})(\d{2})(\d{2})/, '$1-$2-$3'); 224 const openDate = new Date(openDateISO); 225 226 if (openDate >= defaultDate) { 227 today = formatted; 228 } else { 229 today = defaultDay; 230 } 231 todayAir = defaultDay; 232 mindayAir = defaultDay; 233 } else { 234 today = defaultDay; 235 todayAir = defaultDay; 236 mindayAir = defaultDay; 237 } 238 239 const today2Months = new Date(todayAir); 240 today2Months.setMonth(today2Months.getMonth() + 2); 241 242 for(let i=0; i<cal.length; i++){ 243 cal[i].value = today; 244 } 245 246 //ç¥æ¥èªã¿åã 247 const uri = new URL(window.location.href); 248 const hostname = uri.hostname; 249 let holidays = []; 250 const req = new XMLHttpRequest(); 251 const clDate = new Date(); 252 const clYear = clDate.getFullYear(); 253 const clFilePass = "/static/csv/syukujitsu/syukujitsu_" + clYear + ".csv"; 254 let clFile; 255 if(hostname == 'dormy-hotels.com'){ 256 clFile = "https://img.dormy-hotels.com" + clFilePass; 257 } else if(hostname == 'staging-www.kyoritsu-hotels.net'){ 258 clFile = clFilePass; 259 } else { 260 clFile = "https://develop-img.kyoritsu-hotels.net" + clFilePass; 261 } 262 263 req.open("get", clFile, true); 264 req.overrideMimeType('text/plain; charset=Shift_JIS'); 265 req.send(null); 266 267 req.onload = function(){ 268 holidays = convertCSVtoArray(req.responseText); 269 270 $(function(){ 271 datepickerHotel.datepicker({ 272 altFormat: "yy/mm/dd", 273 dateFormat: "yy/mm/dd", 274 language: 'ja', 275 showButtonPanel: true, 276 minDate: today, 277 beforeShowDay: function(date){ 278 // Check holidays from CSV 279 for(let i = 0; i < holidays.length; i++){ 280 if(holidays[i][0] === getDayStr(date)){ 281 return [true, 'isHoliday', null]; 282 } 283 } 284 if(date.getDay() == 0){ 285 return [true, 'isSunday', null]; 286 } else if(date.getDay() == 6){ 287 return [true, 'isSaturday', null]; 288 } 289 return [true, '']; 290 } 291 }).datepicker("setDate", today); 292 293 datepickerAirPort.datepicker({ 294 altFormat: "yy/mm/dd", 295 dateFormat: "yy/mm/dd", 296 language: 'ja', 297 showButtonPanel: true, 298 minDate: mindayAir, 299 beforeShowDay: function(date){ 300 // Check holidays from CSV 301 for(let i = 0; i < holidays.length; i++){ 302 if(holidays[i][0] === getDayStr(date)){ 303 return [true, 'isHoliday', null]; 304 } 305 } 306 if(date.getDay() == 0){ 307 return [true, 'isSunday', null]; 308 } else if(date.getDay() == 6){ 309 return [true, 'isSaturday', null]; 310 } 311 return [true, '']; 312 } 313 }).datepicker("setDate", today2Months); 314 }); 315 }; 316 317 req.onerror = function() { 318 alert('失æãã¾ãã'); 319 window.stop(); 320 }; 321 322 // CSVãé åå 323 function convertCSVtoArray(str){ 324 let tmp = str.split("\n"); 325 tmp.shift(); // Remove header 326 let result = []; 327 let date = ""; 328 329 for(let i = 0; i < tmp.length; i++){ 330 if(!tmp[i]) continue; 331 result[i] = tmp[i].split(','); 332 date = new Date(result[i][0]); 333 result[i][0] = getDayStr(date); 334 } 335 336 return result; 337 } 338 339 // æ¥ä»ã®ãã©ã¼ãããã«åãããï¼yy/mm/ddï¼ 340 function getDayStr(date){ 341 let yy = date.getFullYear(); 342 let mm = ("0" + (date.getMonth() + 1)).slice(-2); 343 let dd = ("0" + date.getDate()).slice(-2); 344 return yy + '/' + mm + '/' + dd; 345 } 346 347 /* $.get('https://holidays-jp.github.io/api/v1/date.json', function(holidaysData){ 348 $(function(){ 349 datepickerHotel.datepicker({ 350 altFormat: "yy/mm/dd", 351 dateFormat: "yy/mm/dd", 352 language: 'ja', 353 //changeMonth: true, 354 //changeYear: true, 355 showButtonPanel: true, 356 minDate: today,
357 beforeShowDay: function(date){ 358 if(date.getDay() == 0){ 359 return [true, 'isSunday', null]; 360 }else if(date.getDay() == 6){ 361 return [true, 'isSaturday', null]; 362 } 363 var holidays = Object.keys(holidaysData); 364 for(let i = 0; i < holidays.length; i++){ 365 var holiday = new Date(Date.parse(holidays[i])); 366 if(holiday.getYear() == date.getYear() && holiday.getMonth() == date.getMonth() && holiday.getDate() == date.getDate()){ 367 return [true, 'isHoliday', null]; 368 } 369 } 370 return [true, '']; 371 } 372 }).datepicker("setDate", today); 373 374 datepickerAirPort.datepicker({ 375 altFormat: "yy/mm/dd", 376 dateFormat: "yy/mm/dd", 377 language: 'ja', 378 //changeMonth: true, 379 //changeYear: true, 380 showButtonPanel: true, 381 minDate: today, 382 beforeShowDay: function(date){ 383 if(date.getDay() == 0){ 384 return [true, 'isSunday', null]; 385 }else if(date.getDay() == 6){ 386 return [true, 'isSaturday', null]; 387 } 388 var holidays = Object.keys(holidaysData); 389 for(let i = 0; i < holidays.length; i++){ 390 var holiday = new Date(Date.parse(holidays[i])); 391 if(holiday.getYear() == date.getYear() && holiday.getMonth() == date.getMonth() && holiday.getDate() == date.getDate()){ 392 return [true, 'isHoliday', null]; 393 } 394 } 395 return [true, '']; 396 } 397 }).datepicker("setDate", today2Months); 398 }); 399 }); */ 400 401// æ¤ç´¢ é½éåºç 402/* var spanText = document.getElementsByClassName('js-prefecture'); 403 for(let i=0; i<spanText.length; i++){ 404 spanText[i].addEventListener('click',function(){ 405 var keyword = document.getElementById('keyword1'); 406 var mapNumberOfAldults = document.getElementById('mapNumberOfAldults'); 407 keyword.value = this.dataset.prefecture; 408 409 if(keyword.value == 'ã«ã³ãã ') { 410 mapNumberOfAldults.value = '2'; 411 } 412 413 keyword.form.submit(); 414 }); 415 } */ 416 417//æ¤ç´¢ ã¨ãªã¢ 418/* var spanText = document.getElementsByClassName('js-area'); 419 for(let i=0; i<spanText.length; i++){ 420 spanText[i].addEventListener('click',function(){ 421 var keyword = document.getElementById('keyword2'); 422 var areaNumberOfAldults = document.getElementById('areaNumberOfAldults'); 423 keyword.value = this.dataset.area; 424 425 if(keyword.value == 'ãã¼ãã¼ã¤ã³SEOUL æ±å(ã«ã³ãã )') { 426 areaNumberOfAldults.value = '2'; 427 } 428 429 keyword.form.submit(); 430 }); 431 } */ 432 433//inputModal input 434 const inputResetButton = inputModal.find('.inputModalButtons .reset'); 435 const inputFixButton = inputModal.find('.inputModalButtons .fix'); 436 const inputCloseButton = inputModal.find('.inputModalButtons .close'); 437 let min, max, numberArea, number; 438 439 //number 440 //inputNumberSelect.find('.icons').on('click', function(){ 441 // if($(this).hasClass('disable')) return; 442 // const parentWrapper = $(this).parents('.inputWrapper'); 443 // const targetName = $(this).parent().data('inputName'); 444 // const targetDisplay = parentWrapper.find('.inputDisplay'); 445 // const childrenTargetDisplay = targetDisplay.find('span[data-input-name="number_of_children"]'); 446 // let childrenNumber; 447 // let valCh = 0; 448 // let valAd = 0; 449 // let valAll = 0; 450 451 // if(targetName == 'number_of_adults'){ 452 // valCh = parseInt(parentWrapper.find('.numberSelect[data-input-name="number_of_children_need_futons"] .number').text()); 453 // } else if(targetName == 'number_of_children_need_futons'){ 454 // valAd = parseInt(parentWrapper.find('.numberSelect[data-input-name="number_of_adults"] .number').text()); 455 // } 456 457 // if($(this).hasClass('minus')){ 458 // min = $(this).data('min'); 459 // max = $(this).siblings('.plus').data('max'); 460 // numberArea = $(this).siblings('.number'); 461 // number = parseInt(numberArea.text()) - 1; 462 // childrenNumber = parseInt(parentWrapper.find('.numberSelect[data-input-name="number_of_children_need_futons"] .number').text()) + parseInt(parentWrapper.find('.numberSelect[data-input-name="number_of_children_no_need_futons"] .number').text()) - 1; 463 // $(this).siblings('.plus').removeClass('disable'); 464 465 // if(targetName == 'number_of_adults'){ 466 // valAll = number + valCh; 467 468 // if(valAll != 10){ 469 // $('.numberSelect[data-input-name="number_of_children_need_futons"] .plus').removeClass('disable'); 470 // } 471 // } else if(targetName == 'number_of_children_need_futons'){ 472 // valAll = number + valAd; 473 474 // if(valAll != 10){ 475 // $('.numberSelect[data-input-name="number_of_adults"] .plus').removeClass('disable'); 476 // } 477 // } 478 // if(number == min) $(this).addClass('disable'); 479 480 // numberArea.text(number); 481 482 // if(targetName === 'number_of_children_need_futons' || targetName === 'number_of_children_no_need_futons'){ 483 // if(childrenNumber <= 0){ 484 // childrenTargetDisplay.hide(); 485 // }else{ 486 // childrenTargetDisplay.show(); 487 // } 488 // parentWrapper.find('input' + '[name="' + targetName + '"]').val(number); 489 // childrenTargetDisplay.find('.number').text(childrenNumber); 490 // }else{ 491 // parentWrapper.find('input' + '[name="' + targetName + '"]').val(number); 492 // targetDisplay.find('span' + '[data-input-name="' + targetName + '"] .number').text(number); 493 // } 494 // } 495 496 // if($(this).hasClass('plus')){ 497 // min = $(this).siblings('.minus').data('min'); 498 // max = $(this).data('max'); 499 // numberArea = $(this).siblings('.number'); 500 // number = parseInt(numberArea.text()) + 1; 501 // childrenNumber = parseInt(parentWrapper.find('.numberSelect[data-input-name="number_of_children_need_futons"] .number').text()) + parseInt(parentWrapper.find('.numberSelect[data-input-name="number_of_children_no_need_futons"] .number').text()) + 1; 502 // $(this).siblings('.minus').removeClass('disable'); 503 504 // if(targetName == 'number_of_adults'){ 505 // valAll = number + valCh; 506 507 // if(valAll == 10){ 508 // $(this).addClass('disable'); 509 // $('.numberSelect[data-input-name="number_of_children_need_futons"] .plus').addClass('disable'); 510 // } 511 // } else if(targetName == 'number_of_children_need_futons'){ 512 // valAll = number + valAd; 513 514 // if(valAll == 10){ 515 // $(this).addClass('disable'); 516 // $('.numberSelect[data-input-name="number_of_adults"] .plus').addClass('disable'); 517 // } 518 // } else { 519 // if(number == max) $(this).addClass('disable'); 520 // } 521 522 // numberArea.text(number); 523 524 // if(targetName === 'number_of_children_need_futons' || targetName === 'number_of_children_no_need_futons'){ 525 // if(childrenNumber <= 0){ 526 // childrenTargetDisplay.hide(); 527 // }else{ 528 // childrenTargetDisplay.show(); 529 // } 530 // parentWrapper.find('input' + '[name="' + targetName + '"]').val(number); 531 // childrenTargetDisplay.find('.number').text(childrenNumber); 532 // }else{ 533 // parentWrapper.find('input' + '[name="' + targetName + '"]').val(number); 534 // targetDisplay.find('span' + '[data-input-name="' + targetName + '"] .number').text(number); 535 // } 536 // } 537 //}); 538 const $modal = $('#roomsModal01'); 539 540 // ========================= 541 // util 542 // ========================= 543 function setRoomNo($room, no) { 544 $room.attr('data-room-group', no);
545 $room.find('.room-group-title').text(no + 'é¨å±ç®'); 546 } 547 548 function getNum($scope, inputName) { 549 return parseInt( 550 $scope.find('.numberSelect[data-input-name="' + inputName + '"] .number').text(), 551 10 552 ) || 0; 553 } 554 555 function setNum($scope, inputName, value) { 556 $scope.find('.numberSelect[data-input-name="' + inputName + '"] .number').text(String(value)); 557 } 558 559 function updateMinMaxDisable($scope, inputName) { 560 const $ns = $scope.find('.numberSelect[data-input-name="' + inputName + '"]'); 561 const $minus = $ns.find('.minus'); 562 const $plus = $ns.find('.plus'); 563 564 const min = parseInt($minus.data('min'), 10); 565 const max = parseInt($plus.data('max'), 10); 566 const val = parseInt($ns.find('.number').text(), 10) || 0; 567 568 $minus.toggleClass('disable', val <= min); 569 $plus.toggleClass('disable', val >= max); 570 } 571 572 // ä¸éï¼é¨å±ãã¨ï¼ï¼å¤§äººï¼å¸å£ããåä¾ <= 10 573 function updateRoomLimitDisable($room) { 574 const adult = getNum($room, 'number_of_adults'); 575 const need = getNum($room, 'number_of_children_need_futons'); 576 const reach = (adult + need) >= 10; 577 578 const $adultPlus = $room.find('.numberSelect[data-input-name="number_of_adults"] .plus'); 579 const $needPlus = $room.find('.numberSelect[data-input-name="number_of_children_need_futons"] .plus'); 580 581 if (reach) { 582 $adultPlus.addClass('disable'); 583 $needPlus.addClass('disable'); 584 } else { 585 // 䏿¦è§£é¤ â maxå°éãªã min/max å´ã§ådisable 586 $adultPlus.removeClass('disable'); 587 $needPlus.removeClass('disable'); 588 589 updateMinMaxDisable($room, 'number_of_adults'); 590 updateMinMaxDisable($room, 'number_of_children_need_futons'); 591 } 592 } 593 594 function setRoomDefaults($room) { 595 setNum($room, 'number_of_adults', 1); 596 setNum($room, 'number_of_children_need_futons', 0); 597 setNum($room, 'number_of_children_no_need_futons', 0); 598 599 updateMinMaxDisable($room, 'number_of_adults'); 600 updateMinMaxDisable($room, 'number_of_children_need_futons'); 601 updateMinMaxDisable($room, 'number_of_children_no_need_futons'); 602 603 updateRoomLimitDisable($room); 604 } 605 606 function renumberRooms() { 607 const $rooms = $modal.find('.category02 .room-block .room-group'); 608 $rooms.each(function (idx) { 609 setRoomNo($(this), idx + 1); 610 }); 611 } 612 613 // ========================= 614 // 室æ°å¤æ´ã§ room-group ã墿¸ 615 // ========================= 616 function syncRoomsToCount(roomCount) { 617 const $roomBlock = $modal.find('.category02 .room-block'); 618 const $rooms = $roomBlock.find('.room-group'); 619 const current = $rooms.length; 620 621 if (roomCount === current) return; 622 623 // æ¸ããï¼æ«å°¾ããæ¶ã 624 if (roomCount < current) { 625 for (let i = current; i > roomCount; i--) { 626 $roomBlock.find('.room-group[data-room-group="' + i + '"]').remove(); 627 } 628 renumberRooms(); 629 return; 630 } 631 632 // å¢ããï¼1é¨å±ç®ããã³ãã¬ã« clone ãã¦è¿½å 633 if (roomCount > current) { 634 const $tpl = $roomBlock.find('.room-group[data-room-group="1"]').first(); 635 636 for (let i = current + 1; i <= roomCount; i++) { 637 const $clone = $tpl.clone(false, false); 638 639 setRoomNo($clone, i); 640 setRoomDefaults($clone); 641 642 $roomBlock.append($clone); 643 } 644 renumberRooms(); 645 } 646 } 647 648 // ========================= 649 // 室æ°UIï¼category01ï¼ã¯ãªã㯠650 // ========================= 651 $modal.on('click', '.js-cng_room', function () { 652 const $btn = $(this); 653 if ($btn.hasClass('disable')) return; 654 655 const $ns = $btn.closest('.numberSelect'); // 室æ°ã® numberSelect 656 const $num = $ns.find('.number'); 657 658 let val = parseInt($num.text(), 10) || 0; 659 const min = parseInt($ns.find('.minus').data('min'), 10); 660 const max = parseInt($ns.find('.plus').data('max'), 10); 661 662 if ($btn.hasClass('minus')) { 663 if (val <= min) return; 664 val--; 665 } else if ($btn.hasClass('plus')) { 666 if (val >= max) return; 667 val++; 668 } 669 670 $num.text(String(val)); 671 672 // disable æ´æ° 673 $ns.find('.minus').toggleClass('disable', val <= min); 674 $ns.find('.plus').toggleClass('disable', val >= max); 675 676 // â é¨å±UIåæ 677 syncRoomsToCount(val); 678 }); 679 680 // ========================= 681 // 人æ°UIï¼category02ï¼ã¯ãªãã¯ï¼é¨å±åä½ 682 // ========================= 683 $modal.on('click', '.category02 .room-group .numberSelect .icons', function () { 684 const $btn = $(this); 685 if ($btn.hasClass('disable')) return; 686 687 const $ns = $btn.closest('.numberSelect'); 688 const targetName = $ns.data('inputName'); 689 const $room = $btn.closest('.room-group'); 690 691 const $num = $ns.find('.number'); 692 let val = parseInt($num.text(), 10) || 0; 693 694 const min = parseInt($ns.find('.minus').data('min'), 10); 695 const max = parseInt($ns.find('.plus').data('max'), 10); 696 697 if ($btn.hasClass('minus')) { 698 if (val <= min) return; 699 val--; 700 } else if ($btn.hasClass('plus')) { 701 if (val >= max) return; 702 703 // â ä¸é10å¤å®ï¼é¨å±å ã®å¤§äººï¼å¸å£ããåä¾ã®ã¿ï¼ 704 if (targetName === 'number_of_adults') { 705 const need = getNum($room, 'number_of_children_need_futons'); 706 if ((val + 1) + need > 10) return; 707 } 708 if (targetName === 'number_of_children_need_futons') { 709 const adult = getNum($room, 'number_of_adults'); 710 if (adult + (val + 1) > 10) return; 711 } 712 713 val++; 714 } 715 716 $num.text(String(val)); 717 718 // min/max disable æ´æ° 719 $ns.find('.minus').toggleClass('disable', val <= min); 720 $ns.find('.plus').toggleClass('disable', val >= max); 721 722 // é¨å±ä¸é10 disable æ´æ°ï¼å¤§äºº/å¸å£ããã® + ãæ¢ãã/å¾©æ´»ï¼ 723 updateRoomLimitDisable($room); 724 }); 725 726 // ========================= 727 // åæåæ 728 // ========================= 729 const initialRooms = parseInt( 730 $modal.find('.numberSelect[data-input-name="number_of_rooms"] .number').text(), 731 10 732 ) || 1; 733
734 syncRoomsToCount(initialRooms); 735 736 // 1é¨å±ç®ã®ç¶æ ãæ´ãã 737 const $firstRoom = $modal.find('.category02 .room-block .room-group[data-room-group="1"]'); 738 if ($firstRoom.length) { 739 updateMinMaxDisable($firstRoom, 'number_of_adults'); 740 updateMinMaxDisable($firstRoom, 'number_of_children_need_futons'); 741 updateMinMaxDisable($firstRoom, 'number_of_children_no_need_futons'); 742 updateRoomLimitDisable($firstRoom); 743 } 744 745 // fix 746 inputFixButton.on('click', function () { 747 const parentWrapper = $(this).parents('.inputWrapper'); 748 749 // æ°å¤ãã§ãã¯ï¼æ¢åè¸è¥²ï¼ 750 let isValid = true; 751 parentWrapper.find('.numberSelect .number').each(function () { 752 const txt = $(this).text(); 753 if (!txt.match(/^([1-9]\d*|0)$/)) { 754 isValid = false; 755 $(this).text($(this).data('default')); 756 } 757 }); 758 759 if (!isValid) { 760 alert('åè§æ°åã§ãå ¥åãã ãã'); 761 location.reload(); 762 return; 763 } 764 765 // ========================= 766 // éè¨ï¼roomsModal01 ã®ã¿ï¼ 767 // ========================= 768 const $modal = $('#roomsModal01'); 769 770 const $rooms = $modal.find('.category02 .room-block .room-group'); 771 const roomCount = $rooms.length; 772 773 let totalAdult = 0; 774 let totalChildren = 0; 775 776 $rooms.each(function () { 777 const $room = $(this); 778 779 const adult = parseInt($room.find('.numberSelect[data-input-name="number_of_adults"] .number').text(), 10) || 0; 780 const childNeed = parseInt($room.find('.numberSelect[data-input-name="number_of_children_need_futons"] .number').text(), 10) || 0; 781 const childNoNeed = parseInt($room.find('.numberSelect[data-input-name="number_of_children_no_need_futons"] .number').text(), 10) || 0; 782 783 totalAdult += adult; 784 totalChildren += (childNeed + childNoNeed); 785 }); 786 787 // ========================= 788 // è¡¨ç¤ºåæ ï¼inputDisplayï¼ 789 // ========================= 790 const $display = parentWrapper.find('.inputDisplay[data-target="roomsModal01"]'); 791 792 // 大人 793 $display 794 .find('.texts.adults[data-input-name="number_of_adults"] .number') 795 .text(totalAdult); 796 797 // å®¤æ° 798 $display 799 .find('.texts.rooms[data-input-name="number_of_rooms"] .number') 800 .text(roomCount); 801 802 // åä¾ï¼èªç¹ãã¨å¶å¾¡ï¼ 803 const $childrenText = $display.find('.texts.children[data-input-name="number_of_children"]'); 804 805 if (totalChildren > 0) { 806 $childrenText 807 .find('.number') 808 .text(totalChildren); 809 810 $childrenText.show(); 811 } else { 812 $childrenText.hide(); 813 } 814 815 const parentModal = $(this).parents('.inputModal'); 816 toggleFixingReserveButton(); 817 818 parentModal.fadeOut(200, function () { 819 parentModal.find('.inputModalCloseButton').remove(); 820 }); 821 }); 822 823 824 inputCloseButton.on('click', function(){ 825 toggleFixingReserveButton(); 826 if(bestRateValue !== 'close'){ 827 fixingBestRate.fadeIn(200); 828 } 829 $(this).parents('.inputModal').fadeOut(200); 830 }); 831//header subMenuButton 832 // TOP 833 topSubMenuButtonOpen.on('click', function(){ 834 if($('.search-area__body').is(':visible')){ 835 $('.search-area__body').slideToggle(240); 836 } 837 838 subMenuArea.addClass('active'), $('html').addClass('scroll-lock'); 839 headerOverlay.fadeIn(300); 840 }); 841 842 topSubMenuButtonClose.on('click', function(){ 843 subMenuArea.removeClass('active'), $('html').removeClass('scroll-lock'); 844 headerOverlay.stop(true,true).fadeOut(300); 845 }); 846 847 $('#top .subMenuNavi a').on('click', function(){ 848 subMenuArea.removeClass('active'), $('html').removeClass('scroll-lock'); 849 headerOverlay.stop(true,true).fadeOut(300); 850 }); 851 852 // Other 853 /*subMenuButton.on('click', function(){ 854 if(!$(this).hasClass('open')){ 855 $(this).addClass('open'), subMenuArea.addClass('active'), $('html').addClass('scroll-lock'); 856 857 headerOverlay.fadeIn(300); 858 }else{ 859 $(this).removeClass('open'), subMenuArea.removeClass('active'), $('html').removeClass('scroll-lock'); 860 headerOverlay.stop(true,true).fadeOut(300); 861 } 862 });*/ 863 864//header fixingReserveButton 865 const footerLogo = $('.footerLogo'); 866 if (fixingReserveButton.length) { 867 footerLogo.addClass('reserveButtonOn'); 868 } 869 870 fixingReserveButton.find('a').on('click', function(e){ 871 e.preventDefault(); 872 fixingInputArea.fadeIn(200); 873 }); 874 fixingInputArea.find('.closeButton').on('click', function(){ 875 fixingInputArea.fadeOut(200); 876 }); 877 878//header fixingInputAreaTabs 879 const fixingInputAreaTabsColorMap = { 880 'form02': 'form-airport-theme', 881 'form05': 'form-ovs-theme', 882 'form03': 'form-train-theme', 883 'form04': 'form-car-theme', 884 'form01': 'form-default-theme' 885 }; 886 const colorTargetArea = fixingInputArea; 887 const allColorClasses = 'form-airport-theme form-ovs-theme form-train-theme form-car-theme form-default-theme'; 888 889 fixingInputAreaTabs.on('click', function(){ 890 if($(this).hasClass('current')) return; 891 fixingInputAreaTabs.removeClass('current'), $(this).addClass('current'); 892 fixingInputAreaInner.find('.forms').hide(), fixingInputAreaInner.find('.' + $(this).data('targetForm')).fadeIn(300); 893 894 if($(this).data('targetForm') == 'form02'||$(this).data('targetForm') == 'form05'||$(this).data('targetForm') == 'form03'||$(this).data('targetForm') == 'form04'){ 895 bestRateLogo.hide(); 896 }else{ 897 bestRateLogo.show(); 898 } 899 900 const targetForm = $(this).data('targetForm'); 901 const newClass = fixingInputAreaTabsColorMap[targetForm]; 902 colorTargetArea.removeClass(allColorClasses); 903 if (newClass) { 904 colorTargetArea.addClass(newClass); 905 } 906 }); 907 908 909//header externalSubmitModal 910 const externalSubmit = $('button.externalSubmit'); 911 const externalSubmitModal = $('.externalSubmitModal'); 912 const externalSubmitButton = externalSubmitModal.find('.externalSubmitButton'); 913 const externalSubmitModalClose = externalSubmitModal.find('.externalSubmitModalClose'); 914 915 externalSubmit.on('click', function(){ 916 const externalButton = $(this); 917 const externalForm = externalButton.closest('form'); 918 const fixingInputFacilitys = externalForm.find('.inputWrapper.facilitys select'); 919 if(fixingInputFacilitys.val() === null){ 920 alert('æ½è¨ã鏿ãã¦ãã ãã'); 921 return false;
922 } 923 924 if(!$(this).hasClass('modalOpen')){ 925 $(this).siblings('.externalSubmitModal').fadeIn(200), $(this).addClass('modalOpen'); 926 return false; 927 }else{ 928 $(this).siblings('.externalSubmitModal').fadeOut(200), $(this).removeClass('modalOpen'); 929 } 930 }); 931 932 externalSubmitButton.on('click', function(){$(this).parent('.externalSubmitModal').siblings('button.externalSubmit').click();}); 933 934 externalSubmitModalClose.on('click', function(){ 935 $(this).parent('.externalSubmitModal').fadeOut(200); 936 $(this).parent('.externalSubmitModal').siblings('button.externalSubmit').removeClass('modalOpen'); 937 }); 938 939 $('#js-hcAirHeader').on('change', function(){ 940 hcAirChange('#js-hcAirHeader', '#js-goDepAirPortHeader'); 941 }); 942 943 $('#js-hcAirMain').on('change', function(){ 944 hcAirChange('#js-hcAirMain', '#js-goDepAirPortMain'); 945 }); 946 947 function hcAirChange(targetId, changeId) { 948 let targetText = $(targetId + '[name=hc] option:selected').text(); 949 let changeTarget = $(changeId + '[name=goDepAirPort]'); 950 951 if(targetText === 'ãã¼ãã¼ã¤ã³PREMIUMæå¹' || 952 targetText === 'ãã¼ãã¼ã¤ã³æå¹ANNEX' || 953 targetText === 'ãã¼ãã¼ã¤ã³ç¨å ' || 954 targetText === 'ãã¼ãã¼ã¤ã³ç¶²èµ°' || 955 targetText === 'ãã¼ãã¼ã¤ã³åè¦' || 956 targetText === 'ãã¼ãã¼ã¤ã³æå·' || 957 targetText === 'ã©ãã¹ã¿å¯è¯éãã«ãº' || 958 targetText === 'ãã¼ãã¼ã¤ã³è«å°ç§' || 959 targetText === 'ãã¼ãã¼ã¤ã³å¸¯åº' || 960 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMå°æ¨½' || 961 targetText === 'ãã¼ãã¼ã¤ã³æ±å®¤è' || 962 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMé§è·¯' || 963 targetText === 'ãã¼ãã¼ã¤ã³å¼å' || 964 targetText === 'ãã¼ãã¼ã¤ã³é森' || 965 targetText === 'ãã¼ãã¼ã¤ã³æ¬å «æ¸' || 966 targetText === 'ãã¼ãã¼ã¤ã³ç§ç°' || 967 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSè±æ©' || 968 targetText === 'å¤©ç¶æ¸©æ³ å±ã®æ¹¯ 御宿 éä¹å¯å±±' || 969 targetText === 'ãã¼ãã¼ã¤ã³å¯å±±' || 970 targetText === 'å¤©ç¶æ¸©æ³ å è³ã®å®æ³ 御宿 éä¹éæ²¢' || 971 targetText === 'ãã¼ãã¼ã¤ã³éæ²¢' || 972 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMç¦äº' || 973 targetText === 'ãã¼ãã¼ã¤ã³æ¦è³' || 974 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMãªãã°' || 975 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMãªãã°ANNEX' || 976 targetText === 'å¤©ç¶æ¸©æ³ è±é¢¨ã®æ¹¯ 御宿 éä¹ãªãã°' || 977 targetText === 'ãã¼ãã¼ã¤ã³å¤§éªè°·çº' || 978 targetText === 'ãã¼ãã¼ã¤ã³PREMIUM大éªåæµ' || 979 targetText === 'å¤©ç¶æ¸©æ³ è±æ³¢ã®æ¹¯ 御宿 éä¹å¤§éªæ·å±æ©' || 980 targetText === 'ãã¼ãã¼ã¤ã³PREMIUM京é½é§ å' || 981 targetText === 'å¤©ç¶æ¸©æ³ è®è±ã®æ¹¯ 御宿 éä¹äº¬é½ä¸æ¡' || 982 targetText === 'å¤©ç¶æ¸©æ³ åéæ¡ã®æ¹¯ 御宿 éä¹å¥è¯' || 983 targetText === 'ãã¼ãã¼ã¤ã³å§«è·¯' || 984 targetText === 'ãã¼ãã¼ã¤ã³ç¥æ¸å çº' || 985 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMåæå±±' || 986 targetText === 'ãã¼ãã¼ã¤ã³åæ·' || 987 targetText === 'ãã¼ãã¼ã¤ã³å²¡å±±' || 988 targetText === 'ãã¼ãã¼ã¤ã³åºå³¶' || 989 targetText === 'ãã¼ãã¼ã¤ã³åºå³¶ANNEX' || 990 targetText === 'ãã¼ãã¼ã¤ã³åºé²' || 991 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSåºé²ã®å é²å' || 992 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSæ¾æ±' || 993 targetText === 'å¤©ç¶æ¸©æ³ ã ãã ãã®æ¹¯ 御宿 é乿¾æ±' || 994 targetText === 'å¤©ç¶æ¸©æ³ å¤åªã®æ¹¯ 御宿 éä¹å¢æ¸¯' || 995 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMä¸é¢' || 996 targetText === 'ãã¼ãã¼ã¤ã³é«æ¾' || 997 targetText === 'ãã¼ãã¼ã¤ã³é«æ¾ä¸å¤®å ¬åå' || 998 targetText === 'ãã¼ãã¼ã¤ã³æ¾å±±' || 999 targetText === 'ãã¼ãã¼ã¤ã³é«ç¥' || 1000 targetText === 'ãã¼ãã¼ã¤ã³åå¤ç¥å' || 1001 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMåå¤ã»ãã£ãã«ã·ãã£å' || 1002 targetText === 'ãã¼ãã¼ã¤ã³å¤§å' || 1003 targetText === 'å¥åºå «æ¹¯ 御宿 éä¹å¥åº' || 1004 targetText === 'ãã¼ãã¼ã¤ã³é·å´æ°å°ä¸è¯è¡' || 1005 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMé·å´é§ å' || 1006 targetText === 'ãã¼ãã¼ã¤ã³çæ¬' || 1007 targetText === 'ãã¼ãã¼ã¤ã³å®®å´' || 1008 targetText === 'ãã¼ãã¼ã¤ã³é¹¿å å³¶' 1009 ) { 1010 changeTarget.val('TYO'); 1011 } else if(targetText === 'ãã¼ãã¼ã¤ã³EXPRESSä»å°åºç¬é' || 1012 targetText === 'ãã¼ãã¼ã¤ã³ä»å°ANNEX' || 1013 targetText === 'ãã¼ãã¼ã¤ã³ä»å°é§ å' || 1014 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSä»å°ã·ã¼ãµã¤ã' || 1015 targetText === 'å¤©ç¶æ¸©æ³ æé½ã®æ¹¯ 御宿 éä¹ä»å°' || 1016 targetText === 'ãã¼ãã¼ã¤ã³ç岡' || 1017 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSé¡å±±' || 1018 targetText === 'ãã¼ãã¼ã¤ã³æ±äº¬å «ä¸å ' || 1019 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSç®é»éèå°' || 1020 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMæ¸è°·ç¥å®®å' || 1021 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMé座' || 1022 targetText === 'ãã¼ãã¼ã¤ã³ä¸éã»å¾¡å¾çº' || 1023 targetText === 'ãã¼ãã¼ã¤ã³ç§èå' || 1024 targetText === 'ãã¼ãã¼ã¤ã³å¾æ¥½å' || 1025 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSæµ è' || 1026 targetText === 'å¤©ç¶æ¸©æ³ åé²ã®æ¹¯ 御宿 é乿µ è' || 1027 targetText === 'å¤©ç¶æ¸©æ³ åå¤©ã®æ¹¯ 御宿 é乿µ èå¥é¸' || 1028 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMç¥ç°' || 1029 targetText === 'ãã¼ãã¼ã¤ã³PREMIUMæ±äº¬å°ä¼é¦¬çº' || 1030 targetText === 'ãã¼ãã¼ã¤ã³æ± è¢' || 1031 targetText === 'ãã¼ãã¼ã¤ã³ä¸å³¶' || 1032 targetText === 'ãã¼ãã¼ã¤ã³EXPRESSå¯å£«å±±å¾¡æ®¿å ´' || 1033 targetText === 'ãã¼ãã¼ã¤ã³æ°´æ¸' || 1034 targetText === 'ãã¼ãã¼ã¤ã³é«å´' || 1035 targetText === 'ãã¼ãã¼ã¤ã³åæ©' || 1036 targetText === 'ã°ãã¼ãã«ãã£ãã³æ¨ªæµä¸è¯è¡' || 1037 targetText === 'ãã¼ãã¼ã¤ã³åèCity Soga' || 1038 targetText === 'ãã¼ãã¼ã¤ã³å·å´' || 1039 targetText === 'ãã¼ãã¼ã¤ã³æ°æ½' || 1040 targetText === 'ãã¼ãã¼ã¤ã³ç²åº' || 1041 targetText === 'ãã¼ãã¼ã¤ã³ç²åºä¸¸ã®å ' 1042 ) { 1043 $('select[name="goDepAirPort"]').val('OSA'); 1044 } else if(targetText === 'ãã¼ãã¼ã¤ã³EXPRESSæå·' || 1045 targetText === 'ãã¼ãã¼ã¤ã³é·é' || 1046 targetText === 'ãã¼ãã¼ã¤ã³æ¾æ¬' || 1047 targetText === 'å¤©ç¶æ¸©æ³ ãã¥ã¿ã®æ¹¯ 御宿 é乿¾æ¬' 1048 ) { 1049 changeTarget.val('FUK'); 1050 } else if(targetText === 'ãã¼ãã¼ã¤ã³PREMIUMåå¤å±æ ' || 1051 targetText === 'ãã¼ãã¼ã¤ã³EXPRESS䏿²³å®å' || 1052 targetText === 'ãã¼ãã¼ã¤ã³å²éé§ å' || 1053 targetText === 'ãã¼ãã¼ã¤ã³æ´¥' 1054 ) { 1055 changeTarget.val('CTS'); 1056 } 1057 } 1058 1059 1060//header fixingBestRate 1061 $(window).on('load resize scroll', function(){ 1062 if($(window).scrollTop() + $(window).height() > footerContainer.offset().top){ 1063 fixingBestRate.fadeOut(200); 1064 }else{ 1065 if(bestRateValue !== 'close'){ 1066 fixingBestRate.fadeIn(200); 1067 } 1068 } 1069 }); 1070 fixingBestRate.find('.closeButton').on('click', function(){ 1071 bestRateKey = 'bestRateKey'; 1072 bestRateValue = 'close'; 1073 window.localStorage.setItem(bestRateKey, bestRateValue); 1074 1075 fixingBestRate.fadeOut(300, function(){fixingBestRate.remove();}); 1076 }); 1077 1078 1079//commonBestRateIcon01 close 1080 commonBestRateIcon01.find('.closeButton').on('click', function(){ 1081 const closeTarget = $(this).parent('.commonBestRateIcon01'); 1082 closeTarget.fadeOut(300, function(){closeTarget.remove();}); 1083 1084 bestRateKey = 'bestRateKey'; 1085 bestRateValue = 'close'; 1086 window.localStorage.setItem(bestRateKey, bestRateValue); 1087 }); 1088 1089//footer footerFixingButtons reserveButton 1090 const footerFixingreserveButtons = $('.footerFixingButtons .reserveButton'); 1091 footerFixingreserveButtons.find('a').on('click', function(e){ 1092 e.preventDefault(); 1093 if($('.footerMenuArea').hasClass('active')){$('.footerFixingButtons .menuButton a').click();} 1094 fixingInputArea.fadeIn(200); 1095 }); 1096 1097 1098//footer footerFixingButtons menuButton 1099 const footerFixingMenuButtons = $('.footerFixingButtons .menuButton'); 1100 const footerMenuArea = $('.footerMenuArea'); 1101 const footerMenuAreaCloseButton = footerMenuArea.find('.footerMenuCloseButton'); 1102 footerFixingMenuButtons.find('a').on('click', function(e){ 1103 e.preventDefault(); 1104 if(!footerFixingMenuButtons.hasClass('open')){ 1105 footerFixingMenuButtons.addClass('open'), footerFixingMenuButtons.find('a').text('CLOSE'), footerMenuArea.addClass('active'); 1106 }else{ 1107 footerFixingMenuButtons.removeClass('open'), footerFixingMenuButtons.find('a').text('MENU'), footerMenuArea.removeClass('active'); 1108 } 1109 }); 1110 footerMenuAreaCloseButton.on('click', function(e){footerFixingMenuButtons.removeClass('open'), 1111 footerFixingMenuButtons.find('a').text('MENU'), footerMenuArea.removeClass('active');}); 1112 1113 1114//commonTabs 1115 const commonTabs01 = $('.commonTabs01'); 1116 const commonTabList01 = $('.commonTabList01 .tabs'); 1117 commonTabs01.find('> li > a').on('click', function(e){ 1118 e.preventDefault(); 1119 const triggerTabs = $(this).parents('.commonTabs01'); 1120 const targetAreas = triggerTabs.siblings('.commonTabAreas01'); 1121 triggerTabs.find('> li').removeClass('current'), $(this).parent('li').addClass('current'); 1122 targetAreas.hide(), targetAreas.eq($(this).parent('li').index()).fadeIn(300); 1123 }); 1124 1125 commonTabList01.find('li').on('click', function(){ 1126 const triggerTabs = $(this).parent('.tabs'); 1127 const targetContents = triggerTabs.siblings('.tabContents'); 1128 triggerTabs.find('li').removeClass('current'), $(this).addClass('current'); 1129 targetContents.hide(), targetContents.eq($(this).index()).fadeIn(300); 1130 }); 1131 1132//top various 1133 /* if($('#top').length){ 1134 const appeals = $('main section.appeals'); 1135 const appealCategorys = appeals.find('.categorys li'); 1136 const appealImages = appeals.find('.images'); 1137 1138 //appeals 1139 appealCategorys.on('click', function(){ 1140 const targetData = '.images[data-images-category="' + $(this).data('targetCategory') + '"]'; 1141 appealCategorys.removeClass('current'), $(this).addClass('current'); 1142 appealImages.hide(), appeals.find(targetData).fadeIn().css({display: 'flex'}); 1143 }); 1144 1145 //news slide 1146 $('#slide03').slick({ 1147 autoplay: true, 1148 autoplaySpeed: 4000, 1149 slidesToShow: 5, 1150 pauseOnFocus: false, 1151 pauseOnHover: false, 1152 pauseOnDotsHover: false, 1153 appendArrows: $('.newsSlideController'), 1154 prevArrow:'<li class="prev"></li>', 1155 nextArrow:'<li class="next"></li>', 1156 dots: false, 1157 responsive: [ 1158 { 1159 breakpoint: 1025, 1160 settings: { 1161 slidesToShow: 3 1162 } 1163 }, 1164 { 1165 breakpoint: 768, 1166 settings: { 1167 centerMode: true, 1168 centerPadding: '10%', 1169 slidesToShow: 1 1170 } 1171 } 1172 ] 1173 }); 1174 1175 } */ 1176 1177 1178//pamphlet sectionTabs 1179 const pamphletSectionTabs = $('#pamphlet .sectionTabs li'); 1180 const pamphletSections = $('#pamphlet .sections'); 1181 pamphletSectionTabs.find('a').on('click', function(e){ 1182 e.preventDefault(); 1183 pamphletSectionTabs.removeClass('current'), $(this).parent('li').addClass('current'); 1184 pamphletSections.hide(), pamphletSections.eq($(this).parent('li').index()).fadeIn(300); 1185 }); 1186 1187 1188//dormyinn top various 1189 const introSection = $('section.intro'); 1190 const searchTypeTabs = introSection.find('.searchTypeTabs li'); 1191 const searchTypes = introSection.find('.searchTypes'); 1192 const searchTypesMap = introSection.find('.searchTypes.map'); 1193 const searchTypesArea = introSection.find('.searchTypes.area'); 1194 const searchTypesAreaTabContents = searchTypesArea.find('.tabContents'); 1195 const searchAreaMaps = searchTypesMap.find('.searchAreaMaps'); 1196 const nationwideMap = $('main .searchAreaMaps.nationwide'); 1197 const nationwideButtons = nationwideMap.find('.areaButtons'); 1198 const areaMaps = $('.commonMapSearchArea01 .searchAreaMaps'); 1199 const nationwideMapButton = $('.commonMapSearchArea01 .nationwideMapButton a'); 1200 1201 $(window).on('load resize', function(){ 1202 let searchTypesMaxH = 0 ,searchAreaMapsMaxH = 0; 1203 searchTypes.height('auto'), searchTypesAreaTabContents.height(0); 1204 searchAreaMaps.each(function(i){ 1205 searchAreaMapsMaxH = Math.max(searchAreaMapsMaxH, $(this).innerHeight()); 1206 if(searchAreaMaps.length == i + 1){ 1207 searchAreaMapsMaxH = searchAreaMapsMaxH/* + searchTypesMap.find('.inputArea').innerHeight()*/; 1208 searchTypes.each(function(i){ 1209 searchTypesMaxH = Math.max(searchTypesMaxH, searchAreaMapsMaxH, $(this).innerHeight()); 1210 if(searchTypes.length == i + 1){ 1211 searchTypes.height(searchTypesMaxH); 1212 searchTypesAreaTabContents.height(searchTypesMaxH - parseInt(searchTypesArea.find('.commonTabList01 > .tabContents').css('paddingTop')) - parseInt(searchTypesArea.find('.commonTabList01 > .tabContents').css('paddingBottom')) - searchTypesArea.find('.areaTabs').innerHeight() - searchTypesArea.find('.commonTabAreas01:visible').find('.commonTabList01 > .tabs').innerHeight()); 1213 } 1214 }); 1215 } 1216 }); 1217 }); 1218 1219 searchTypeTabs.on('click', function(){ 1220 const tabIndex = $(this).index(); 1221 1222 searchTypeTabs.removeClass('current'), $(this).addClass('current'); 1223 searchTypes.removeClass('visible'), searchTypes.eq($(this).index()).addClass('visible'); 1224 $('#slide02').slick('setPosition'); 1225 1226 // ãã©ã¼ã ã®è²ã夿´ 1227 $('#js-searchAreaDiv').removeClass('form-airport-theme form-ovs-theme form-train-theme form-car-theme'); 1228 1229 // ãã¿ã³ã®è²ã夿´ 1230 $('#js-mainAirSubmit').removeClass('btn-airport-theme btn-train-theme btn-car-theme'); 1231 1232 if (tabIndex === 2) { // å½å èªç©ºå¸ 1233 $('#js-searchAreaDiv').addClass('form-airport-theme'); 1234 $('#js-mainAirSubmit').addClass('btn-airport-theme'); 1235 } else if (tabIndex === 3) { // æµ·å¤èªç©ºå¸ï¼SITE-918ï¼ 1236 $('#js-searchAreaDiv').addClass('form-ovs-theme'); 1237 $('#js-mainOverseasAirSubmit').addClass('btn-ovs-theme'); 1238 } else if (tabIndex === 4) { // JR 1239 $('#js-searchAreaDiv').addClass('form-train-theme'); 1240 $('#js-mainJrSubmit').addClass('btn-train-theme'); 1241 } else if (tabIndex === 5) { // ã¬ã³ã¿ã«ã¼ 1242 $('#js-searchAreaDiv').addClass('form-car-theme'); 1243 $('#js-mainRentalCarSubmit').addClass('btn-car-theme'); 1244 } 1245 }); 1246 1247 nationwideMap.find('.areaButtons li').on({ 1248 mouseenter: function(){ 1249 const targetMaps = $(this).parent('.areaButtons').siblings('.areaMaps'); 1250 targetMaps.find('li').hide(), targetMaps.find('li').eq($(this).index()+1).show(); 1251 }, 1252 mouseleave: function(){ 1253 const targetMaps = $(this).parent('.areaButtons').siblings('.areaMaps'); 1254 targetMaps.find('li').hide(), targetMaps.find('li').eq(0).show(); 1255 } 1256 }); 1257 1258 $('.searchAreaMaps .areaButtons li').on({ 1259 mouseenter: function(){ 1260 const targetMaps = $(this).parent('.areaButtons').siblings('.areaMap'); 1261 targetMaps.find('img').hide(), targetMaps.find('img').eq($(this).index()+1).show(); 1262 }, 1263 mouseleave: function(){ 1264 const targetMaps = $(this).parent('.areaButtons').siblings('.areaMap'); 1265 targetMaps.find('img').hide(), targetMaps.find('img').eq(0).show(); 1266 } 1267 }); 1268 1269 if($('#dormyinnTop').length){ 1270 const targetMaps = $(this).parent('.areaButtons').siblings('.areaMaps'); 1271
1272 // ãã±ãã743対å¿: MAPé表示ã®ããã³ã¡ã³ãã¢ã¦ã 1273 // searchTypes.first().addClass('visible'), searchAreaMaps.first().addClass('visible'); 1274 1275 nationwideButtons.find('> li > a').on('click', function(e){ 1276 if($(this).parent('li').hasClass('noDetailMap')) return; 1277 e.preventDefault(); 1278 const buttonIndex = $(this).parent('li').index(); 1279 const targetMaps = $(this).parents('.searchAreaMaps'); 1280 if(targetMaps.siblings().length <= 0){ 1281 const targetTabAreas = $(this).parents('.commonMapSearchArea01').next('.listArea').find('.commonTabAreas01'); 1282 targetTabAreas.hide(), targetTabAreas.eq(buttonIndex).fadeIn(300); 1283 }else{ 1284 targetMaps.removeClass('visible'), targetMaps.siblings().removeClass('visible'), targetMaps.siblings().eq(buttonIndex).addClass('visible'); 1285 } 1286 }); 1287 1288 nationwideMapButton.on('click', function(e){ 1289 e.preventDefault(); 1290 $(this).parents('.commonMapSearchArea01').find('.searchAreaMaps').removeClass('visible'), $(this).parents('.commonMapSearchArea01').find('.searchAreaMaps.nationwide').addClass('visible'); 1291 }); 1292 } 1293 1294 const mainAirForm = $('#js-mainAirForm'); 1295 const mainAirSubmit = $('#js-mainAirSubmit'); 1296 const mainAirFacilitys = $('#js-mainAirFacilitys select'); 1297 const mainAirSubmitModal = $('#js-mainAirSubmitModal'); 1298 const mainAirSubmitButton = $('#js-mainAirSubmitButton'); 1299 const mainAirSubmitModalClose = $('#js-mainAirSubmitModalClose'); 1300 mainAirSubmit.on('click', function(){ 1301 if(mainAirFacilitys.val() === null){ 1302 alert('æ½è¨ã鏿ãã¦ãã ãã'); 1303 return false; 1304 } 1305 1306 if(!$(this).hasClass('modalOpen')){ 1307 mainAirSubmitModal.fadeIn(200), $(this).addClass('modalOpen'); 1308 return false; 1309 }else{ 1310 mainAirSubmitModal.fadeOut(200), $(this).removeClass('modalOpen'); 1311 } 1312 }); 1313 1314 mainAirSubmitButton.on('click', function(){ 1315 mainAirForm.submit(); 1316 mainAirSubmitModal.fadeOut(200), mainAirSubmit.removeClass('modalOpen'); 1317 }); 1318 1319 mainAirSubmitModalClose.on('click', function(){ 1320 mainAirSubmitModal.fadeOut(200), mainAirSubmit.removeClass('modalOpen'); 1321 }); 1322 1323 // SITE-918 æµ·å¤èªç©ºå¸ï¼ããã«ï¼é¸æâã¢ã¼ãã«â該å½ovs URLã¸é·ç§»ãAir/JRã®å°ç·ãè¸è¥²ï¼ 1324 const mainOverseasAirForm = $('#js-mainOverseasAirForm'); 1325 const mainOverseasAirSubmit = $('#js-mainOverseasAirSubmit'); 1326 const mainOverseasAirFacilitys = $('#js-mainOverseasAirFacilitys select'); 1327 const mainOverseasAirSubmitModal = $('#js-mainOverseasAirSubmitModal'); 1328 const mainOverseasAirSubmitButton = $('#js-mainOverseasAirSubmitButton'); 1329 const mainOverseasAirSubmitModalClose = $('#js-mainOverseasAirSubmitModalClose'); 1330 mainOverseasAirSubmit.on('click', function(){ 1331 if(mainOverseasAirFacilitys.val() === null){ 1332 alert('æ½è¨ã鏿ãã¦ãã ãã'); 1333 return false; 1334 } 1335 1336 if(!$(this).hasClass('modalOpen')){ 1337 mainOverseasAirSubmitModal.fadeIn(200), $(this).addClass('modalOpen'); 1338 return false; 1339 }else{ 1340 mainOverseasAirSubmitModal.fadeOut(200), $(this).removeClass('modalOpen'); 1341 } 1342 }); 1343 1344 mainOverseasAirSubmitButton.on('click', function(){ 1345 mainOverseasAirForm.submit(); 1346 mainOverseasAirSubmitModal.fadeOut(200), mainOverseasAirSubmit.removeClass('modalOpen'); 1347 }); 1348 1349 mainOverseasAirSubmitModalClose.on('click', function(){ 1350 mainOverseasAirSubmitModal.fadeOut(200), mainOverseasAirSubmit.removeClass('modalOpen'); 1351 }); 1352 1353 const mainJrForm = $('#js-mainJrForm'); 1354 const mainJrSubmit = $('#js-mainJrSubmit'); 1355 const mainJrFacilitys = $('#js-mainJrFacilitys select'); 1356 const mainJrSubmitModal = $('#js-mainJrSubmitModal'); 1357 const mainJrSubmitButton = $('#js-mainJrSubmitButton'); 1358 const mainJrSubmitModalClose = $('#js-mainJrSubmitModalClose'); 1359 mainJrSubmit.on('click', function(){ 1360 if(mainJrFacilitys.val() === null){ 1361 alert('æ½è¨ã鏿ãã¦ãã ãã'); 1362 return false; 1363 } 1364 1365 if(!$(this).hasClass('modalOpen')){ 1366 mainJrSubmitModal.fadeIn(200), $(this).addClass('modalOpen'); 1367 return false; 1368 }else{ 1369 mainJrSubmitModal.fadeOut(200), $(this).removeClass('modalOpen'); 1370 } 1371 }); 1372 1373 mainJrSubmitButton.on('click', function(){ 1374 mainJrForm.submit(); 1375 mainJrSubmitModal.fadeOut(200), mainJrSubmit.removeClass('modalOpen'); 1376 }); 1377 1378 mainJrSubmitModalClose.on('click', function(){ 1379 mainJrSubmitModal.fadeOut(200), mainJrSubmit.removeClass('modalOpen'); 1380 }); 1381 1382 const mainRentalCarForm = $('#js-mainRentalCarForm'); 1383 const mainRentalCarSubmit = $('#js-mainRentalCarSubmit'); 1384 const mainRentalCarFacilitys = $('#js-mainRentalCarFacilitys select'); 1385 const mainRentalCarSubmitModal = $('#js-mainRentalCarSubmitModal'); 1386 const mainRentalCarSubmitButton = $('#js-mainRentalCarSubmitButton'); 1387 const mainRentalCarSubmitModalClose = $('#js-mainRentalCarSubmitModalClose'); 1388 mainRentalCarSubmit.on('click', function(){ 1389 if(mainRentalCarFacilitys.val() === null){ 1390 alert('æ½è¨ã鏿ãã¦ãã ãã'); 1391 return false;
1392 } 1393 1394 if(!$(this).hasClass('modalOpen')){ 1395 mainRentalCarSubmitModal.fadeIn(200), $(this).addClass('modalOpen'); 1396 return false; 1397 }else{ 1398 mainRentalCarSubmitModal.fadeOut(200), $(this).removeClass('modalOpen'); 1399 } 1400 }); 1401 1402 mainRentalCarSubmitButton.on('click', function(){ 1403 mainRentalCarForm.submit(); 1404 mainRentalCarSubmitModal.fadeOut(200), mainRentalCarSubmit.removeClass('modalOpen'); 1405 }); 1406 1407 mainRentalCarSubmitModalClose.on('click', function(){ 1408 mainRentalCarSubmitModal.fadeOut(200), mainRentalCarSubmit.removeClass('modalOpen'); 1409 }); 1410 1411 1412//nationwideMap only visible 1413 if(nationwideMap.length){ 1414 let tabAreaMap = false, targetNationwideMap; 1415 nationwideMap.each(function(){ 1416 if($(this).siblings().length <= 0){ 1417 $(this).addClass('visible'); 1418 //tabAreaMap = true, targetNationwideMap = $(this); 1419 } 1420 }); 1421 1422 /*if(tabAreaMap){ 1423 const targetNationwideMapButton = targetNationwideMap.find('.areaButtons > li'); 1424 targetNationwideMapButton.find('> a').on('click', function(){ 1425 const targetAreaMaps = $(this).parents('.areaButtons').next('.areaMaps'); 1426 targetNationwideMapButton.find('> li').removeClass('current'), $(this).parent('li').addClass('current'); 1427 targetAreaMaps.find('li').hide(), targetAreaMaps.find('li').eq($(this).parent('li').inde()).fadeIn(200); 1428 }); 1429 }*/ 1430 1431 } 1432 1433 1434//dormyinnTop sp commonSectionTabs 1435 const commonSectionTabs = $('.commonSectionTabs li'); 1436 const topCommonSections = $('.topCommonSections'); 1437 commonSectionTabs.on('click', function(){ 1438 commonSectionTabs.removeClass('current'), $(this).addClass('current'); 1439 topCommonSections.hide(), topCommonSections.eq($(this).index()).fadeIn(300); 1440 $('#slide04, #slide05, #slide06').slick('setPosition'); 1441 }); 1442 1443 1444//dormyinnTop slider 1445 if ($('#dormyinnTop').length) { 1446 var $slide01 = $('#slide01'); 1447 1448 var $heading = $('.mainVisual h2'); 1449 // ããã¹ãé表示 1450 $heading.hide(); 1451 // ã¹ã©ã¤ãåãæ¿ãå 1452 $slide01.on('beforeChange', function(event, slick, currentSlide, nextSlide) { 1453 if (nextSlide === 0) { 1454 $heading.hide(); 1455 } else { 1456 $heading.show(); 1457 } 1458 }); 1459 // åæè¡¨ç¤ºå¶å¾¡ï¼slickåæåç´å¾ã«é表示 or 表示ã夿 1460 $slide01.on('init', function(event, slick) { 1461 if (slick.currentSlide === 0) { 1462 $heading.hide(); // æåã¯å³æé ã 1463 // $heading.fadeIn(300); // æåãããã§ã¼ãã¤ã³ 1464 } else { 1465 $heading.show(); // 念ã®ããããã以å¤ãªã表示 1466 } 1467 }); 1468 1469 // slickåæå 1470 $slide01.slick({ 1471 autoplay: true, 1472 fade: true, 1473 autoplaySpeed: 4000, 1474 slidesToShow: 1, 1475 pauseOnFocus: false, 1476 pauseOnHover: false, 1477 pauseOnDotsHover: false, 1478 arrows: false, 1479 dots: true 1480 }); 1481 // ã¹ã©ã¤ãåæ¿ã®ããã¹ãå¶å¾¡ãç¡å¹å 1482 1483 // ã¹ã©ã¤ãåãæ¿ãå¾ã®ã¤ãã³ã 1484 /*$slide01.on('afterChange', function(event, slick, currentSlide) { 1485 if (currentSlide === 0) { 1486 $heading.fadeOut(300); // 0çªã¹ã©ã¤ããªããã§ã¼ãã¢ã¦ã 1487 } else { 1488 $heading.fadeIn(300); // ãã以å¤ãªããã§ã¼ãã¤ã³ 1489 } 1490 });*/ 1491 1492 $('#slide02').slick({ 1493 autoplay: true, 1494 autoplaySpeed: 4000, 1495 slidesToShow: 3, 1496 pauseOnFocus: false, 1497 pauseOnHover: false, 1498 pauseOnDotsHover: false, 1499 appendArrows: $('.controller03'), 1500 prevArrow: '<li class="prev"></li>', 1501 nextArrow: '<li class="next"></li>', 1502 centerMode: true, 1503 centerPadding: '0', 1504 dots: true, 1505 responsive: [{ 1506 breakpoint: 768, 1507 settings: { 1508 slidesToShow: 1 1509 } 1510 }] 1511 }); 1512 1513 $('#slide03').slick({ 1514 autoplay: true, 1515 autoplaySpeed: 4000, 1516 slidesToShow: 3, 1517 pauseOnFocus: false, 1518 pauseOnHover: false, 1519 pauseOnDotsHover: false, 1520 appendArrows: $('.controller04'), 1521 prevArrow: '<li class="prev"></li>', 1522 nextArrow: '<li class="next"></li>', 1523 dots: true, 1524 responsive: [{ 1525 breakpoint: 1025, 1526 settings: { 1527 slidesToShow: 3 1528 } 1529 }, { 1530 breakpoint: 768, 1531 settings: { 1532 slidesToShow: 1 1533 } 1534 }] 1535 }); 1536 } 1537 1538 1539//top slider 1540 /*if($('#top').length){ 1541 $('#slide01').slick({ 1542 autoplay: true, 1543 fade: true, 1544 autoplaySpeed: 4000, 1545 slidesToShow: 1, 1546 pauseOnFocus: false, 1547 pauseOnHover: false, 1548 pauseOnDotsHover: false,
1549 arrows: false, 1550 dots: true 1551 }); 1552 1553 $('#slide02').slick({ 1554 autoplay: true, 1555 autoplaySpeed: 4000, 1556 slidesToShow: 1, 1557 pauseOnFocus: false, 1558 pauseOnHover: false, 1559 pauseOnDotsHover: false, 1560 appendArrows: $('.newsSlideController'), 1561 prevArrow:'<li class="prev"></li>', 1562 nextArrow:'<li class="next"></li>', 1563 centerMode: true, 1564 centerPadding: '20%', 1565 dots: true, 1566 responsive: [ 1567 { 1568 breakpoint: 1025, 1569 settings: { 1570 slidesToShow: 2, 1571 centerMode: false, 1572 centerPadding: '0' 1573 } 1574 }, 1575 { 1576 breakpoint: 768, 1577 settings: { 1578 slidesToShow: 1, 1579 centerMode: false, 1580 centerPadding: '0' 1581 } 1582 } 1583 ] 1584 }); 1585 } */ 1586 1587 1588//hotels various 1589 if($('#hotels').length){ 1590 const hotelsListSearch = $('main .searchTypes.listSearch'); 1591 1592 const hotelsListButtons01 = hotelsListSearch.find('.listButtons.buttons01 li'); 1593 const hotelsListContents01 = hotelsListSearch.find('.variableContents.contents01'); 1594 const hotelsListButtons02 = hotelsListSearch.find('.listButtons.buttons02 li'); 1595 const hotelsListContents02 = hotelsListSearch.find('.variableContents.contents02'); 1596 const hotelsListButtons03 = hotelsListSearch.find('.listButtons.buttons03 li'); 1597 const hotelsListContents03 = hotelsListSearch.find('.variableContents.contents03'); 1598 1599 const hotelsListAreaName = hotelsListSearch.find('.variableContents.contents02 .areaName'); 1600 const hotelsFooterLinkk = $('#menu1Container .footerLink'); 1601 const hotelsHash = location.hash; 1602 1603 //hotelsListSearch 1604 hotelsListButtons01.on('click', function(){ 1605 hotelsListButtons01.removeClass('current'), hotelsListButtons02.removeClass('current'), hotelsListButtons03.removeClass('current'), $(this).addClass('current'); 1606 hotelsListContents01.hide(), hotelsListContents02.hide(), hotelsListContents03.hide(), hotelsListContents01.eq($(this).index()).fadeIn(); 1607 1608 let windowSize = window.innerWidth; 1609 if (windowSize < 767) { 1610 let speed = 500; 1611 let target = $('#js-spHotelListSwing'); 1612 let headH = $('.headerContainer').innerHeight();; 1613 let position = target.offset().top; 1614 position = position - headH; 1615 $("html, body").animate({scrollTop:position}, speed, "swing"); 1616 return false; 1617 } 1618 }); 1619 hotelsListButtons02.on('click', function(){ 1620 hotelsListButtons01.removeClass('current'), hotelsListButtons02.removeClass('current'), hotelsListButtons03.removeClass('current'), $(this).addClass('current'); 1621 hotelsListContents01.hide(), hotelsListContents02.hide(), hotelsListContents03.hide(), hotelsListContents02.eq($(this).index()).fadeIn(); 1622 1623 let windowSize = window.innerWidth; 1624 if (windowSize < 767) { 1625 let speed = 500; 1626 let target = $('#js-spHotelListSwing'); 1627 let headH = $('.headerContainer').innerHeight();; 1628 let position = target.offset().top; 1629 position = position - headH; 1630 $("html, body").animate({scrollTop:position}, speed, "swing"); 1631 return false; 1632 } 1633 }); 1634 hotelsListButtons03.on('click', function(){ 1635 hotelsListButtons01.removeClass('current'), hotelsListButtons02.removeClass('current'), hotelsListButtons03.removeClass('current'), $(this).addClass('current'); 1636 hotelsListContents01.hide(), hotelsListContents02.hide(), hotelsListContents03.hide(), hotelsListContents03.eq($(this).index()).fadeIn(); 1637 1638 let windowSize = window.innerWidth; 1639 if (windowSize < 767) { 1640 let speed = 500; 1641 let target = $('#js-spHotelListSwing'); 1642 let headH = $('.headerContainer').innerHeight();; 1643 let position = target.offset().top; 1644 position = position - headH; 1645 $("html, body").animate({scrollTop:position}, speed, "swing"); 1646 return false; 1647 } 1648 }); 1649 1650 //hotelsListAreas 1651 hotelsListAreaName.addClass('listOpen'), hotelsListAreaName.next('ul').show().css({display: 'flex'}); 1652 hotelsListAreaName.on('click', function(e){ 1653 $(this).toggleClass('listOpen'); 1654 if($(this).hasClass('listOpen')){ 1655 $(this).next('ul').slideDown(200).css({display: 'flex'}); 1656 }else{
1657 $(this).next('ul').stop(true, true).slideUp(200); 1658 } 1659 }); 1660 1661 if(hotelsHash){ 1662 const hotelsTargetCategory = '.' + hotelsHash.replace('#', ''); 1663 if(hotelsTargetCategory === '.standard' || hotelsTargetCategory === '.premium' || hotelsTargetCategory === '.express' || hotelsTargetCategory === '.nono'){ 1664 hotelsListSearch.find('.listButtons.buttons02').find(hotelsTargetCategory).click(); 1665 } 1666 else if(hotelsTargetCategory === 'new' || hotelsTargetCategory === 'renewal') { 1667 hotelsListSearch.find('.listButtons.buttons03').find(hotelsTargetCategory).click(); 1668 } 1669 else { 1670 hotelsListSearch.find('.listButtons.buttons01').find(hotelsTargetCategory).click(); 1671 } 1672 } 1673 1674 hotelsFooterLinkk.on('click', function() { 1675 let tagetHref = $(this).attr('href'); 1676 1677 if ($('.map').length > 0) { 1678 // location.href ã§ãªã³ã¯å ã«é·ç§»ããã 1679 window.location.href = tagetHref; 1680 return false; 1681 } 1682 1683 let hashIndex = tagetHref.indexOf('#'); 1684 let substring = tagetHref.substring(hashIndex + 1); 1685 let targetCategory = '.' + substring; 1686 1687 hotelsListSearch.find('.listButtons.buttons01').find(targetCategory).click(); 1688 1689 $('body, html').animate({ scrollTop: 0 }, 500); 1690 return false; 1691 }); 1692 } 1693 1694 1695//hotelsDetail slider 1696 if($('#hotelsDetail.hotelsDetailTop').length){ 1697 $('#slide01').slick({ 1698 autoplay: true, 1699 fade: true, 1700 autoplaySpeed: 4000, 1701 slidesToShow: 1, 1702 pauseOnFocus: false, 1703 pauseOnHover: false, 1704 pauseOnDotsHover: false, 1705 arrows: false, 1706 dots: true 1707 }); 1708 1709 $('.sections:not(.neighborhood) .commonSlider01').each(function(){ 1710 const targetSlider = $(this).find('.slider'); 1711 targetSlider.slick({ 1712 autoplay: true, 1713 autoplaySpeed: 4000, 1714 slidesToShow: 3, 1715 pauseOnFocus: false, 1716 pauseOnHover: false, 1717 pauseOnDotsHover: false, 1718 appendArrows: $(this).find('.controller'), 1719 prevArrow:'<li class="prev"></li>', 1720 nextArrow:'<li class="next"></li>', 1721 dots: true, 1722 responsive: [ 1723 { 1724 breakpoint: 1025, 1725 settings: { 1726 slidesToShow: 3 1727 } 1728 }, 1729 { 1730 breakpoint: 768, 1731 settings: { 1732 slidesToShow: 1 1733 } 1734 } 1735 ] 1736 }); 1737 }); 1738 1739 /*$('#slide02').slick({ 1740 autoplay: true, 1741 autoplaySpeed: 4000, 1742 slidesToShow: 3, 1743 pauseOnFocus: false, 1744 pauseOnHover: false, 1745 pauseOnDotsHover: false, 1746 arrows: false, 1747 centerMode: true, 1748 centerPadding: '15%', 1749 dots: true, 1750 responsive: [ 1751 { 1752 breakpoint: 1025, 1753 settings: { 1754 slidesToShow: 3, 1755 centerPadding: '5%' 1756 } 1757 }, 1758 { 1759 breakpoint: 768, 1760 settings: { 1761 slidesToShow: 1, 1762 centerPadding: '15%' 1763 } 1764 } 1765 ] 1766 });*/ 1767 1768 $(window).on('load resize', function(){ 1769 if(BPMin768.matches){ 1770 $('#slide03.slick-initialized').slick('unslick'); 1771 }else{ 1772 $('#slide03').not('.slick-initialized').slick({ 1773 autoplay: true, 1774 autoplaySpeed: 4000, 1775 slidesToShow: 1, 1776 pauseOnFocus: false, 1777 pauseOnHover: false, 1778 pauseOnDotsHover: false, 1779 arrows: false, 1780 dots: true 1781 }); 1782 } 1783 }); 1784 } 1785 1786 1787//newHotelsSlider 1788 if($('#newHotelsSlider').length){ 1789 $('#newHotelsSlider').slick({ 1790 autoplay: true, 1791 autoplaySpeed: 4000, 1792 slidesToShow: 3, 1793 pauseOnFocus: false, 1794 pauseOnHover: false, 1795 pauseOnDotsHover: false, 1796 appendArrows: $('.newHotelsSlideController'), 1797 prevArrow:'<li class="prev"></li>', 1798 nextArrow:'<li class="next"></li>', 1799 dots: false, 1800 responsive: [ 1801 { 1802 breakpoint: 1025, 1803 settings: { 1804 slidesToShow: 2 1805 } 1806 }, 1807 { 1808 breakpoint: 768, 1809 settings: { 1810 slidesToShow: 1 1811 } 1812 } 1813 ] 1814 }); 1815 } 1816 1817 1818//neighborhoodSlider 1819 if($('#neighborhoodSlider').length){ 1820 $(window).on('load resize', function(){ 1821 if(BPMin768.matches){ 1822 $('#neighborhoodSlider.slick-initialized').slick('unslick'); 1823 }else{ 1824 $('#neighborhoodSlider').not('.slick-initialized').slick({ 1825 autoplay: true, 1826 autoplaySpeed: 4000, 1827 slidesToShow: 1, 1828 pauseOnFocus: false, 1829 pauseOnHover: false, 1830 pauseOnDotsHover: false,
1831 arrows: false, 1832 dots: true 1833 }); 1834 } 1835 }); 1836 } 1837 1838 1839//hotelsDetail spa slider 1840const othersSlider = $('main section.others .commonSlider01'); 1841 if($('#hotelsDetail.spa').length){ 1842 $(window).on('load resize', function(){ 1843 if(BPMin768.matches){ 1844 othersSlider.each(function(){ 1845 $(this).find('.slider.slick-initialized').slick('unslick'); 1846 }); 1847 }else{ 1848 othersSlider.each(function(){ 1849 $(this).find('.slider').not('.slick-initialized').slick({ 1850 autoplay: true, 1851 autoplaySpeed: 4000, 1852 slidesToShow: 1, 1853 pauseOnFocus: false, 1854 pauseOnHover: false, 1855 pauseOnDotsHover: false, 1856 arrows: false, 1857 dots: true 1858 }); 1859 }); 1860 } 1861 }); 1862 } 1863 1864 1865//hotelsDetail breakfast slider 1866 if($('#hotelsDetail.breakfast').length){ 1867 $('.pickupSlider .slider').slick({ 1868 autoplay: true, 1869 autoplaySpeed: 4000, 1870 slidesToShow: 1, 1871 pauseOnFocus: false, 1872 pauseOnHover: false, 1873 pauseOnDotsHover: false, 1874 arrows: false, 1875 dots: true 1876 }); 1877 } 1878 1879 1880//hotelsDetail floor slider 1881 if($('#hotelsDetail.floor').length){ 1882 $('#slide01').slick({ 1883 autoplay: true, 1884 autoplaySpeed: 4000, 1885 slidesToShow: 3, 1886 pauseOnFocus: false, 1887 pauseOnHover: false, 1888 pauseOnDotsHover: false, 1889 arrows: false, 1890 dots: true, 1891 responsive: [ 1892 { 1893 breakpoint: 768, 1894 settings: { 1895 slidesToShow: 1 1896 } 1897 } 1898 ] 1899 }); 1900 } 1901 1902 1903//hotelsDetail rooms 1904 if($('#hotelsDetail.rooms').length){ 1905 $('#hotelsDetail.rooms section .commonSlider02').each(function(){ 1906 const targetSlider = $(this).find('.slider'); 1907 const thumbnails = targetSlider.next('.thumbnails'); 1908 targetSlider.slick({ 1909 autoplay: true, 1910 autoplaySpeed: 4000, 1911 slidesToShow: 1, 1912 pauseOnFocus: false, 1913 pauseOnHover: false, 1914 pauseOnDotsHover: false, 1915 arrows: false, 1916 dots: false, 1917 asNavFor: thumbnails 1918 }); 1919 thumbnails.slick({ 1920 slidesToShow: 4, 1921 pauseOnFocus: false, 1922 pauseOnHover: false, 1923 pauseOnDotsHover: false, 1924 arrows: true, 1925 dots: false, 1926 focusOnSelect: true, 1927 asNavFor: targetSlider 1928 }); 1929 }); 1930 } 1931 1932 1933//hotelsDetail access 1934 if($('#hotelsDetail.access').length){ 1935 $('#hotelsDetail.access .sections .commonSlider01').each(function(){ 1936 const targetSlider = $(this).find('.slider'); 1937 targetSlider.slick({ 1938 autoplay: true, 1939 autoplaySpeed: 4000, 1940 slidesToShow: 1, 1941 pauseOnFocus: false, 1942 pauseOnHover: false, 1943 pauseOnDotsHover: false, 1944 arrows: false, 1945 dots: true 1946 }); 1947 }); 1948 } 1949 1950 1951 //hotelsDetail top 1952 const appeals02 = $('#hotelsDetail.hotelsDetailTop section.appeals'); 1953 appeals02.find('.inSections .thumbnails li').on('click', function(){ 1954 const targetImages = $(this).parents('.textArea').next('.images').find('li'); 1955 const targetImage = targetImages.eq($(this).index()); 1956 if(targetImage.is(':visible')) return; 1957 targetImages.hide(), targetImage.fadeIn(300); 1958 }); 1959 1960 1961//hotelsDetail gallery 1962 if ($('#hotelsDetail.gallery').length) { 1963 $('#hotelsDetail.gallery .variableContents .commonSlider02').each(function () { 1964 const targetSlider = $(this).find('.slider'); 1965 const thumbnails = targetSlider.next('.thumbnails'); 1966 1967 targetSlider.slick({ 1968 autoplay: true, 1969 autoplaySpeed: 4000, 1970 slidesToShow: 1, 1971 pauseOnFocus: false, 1972 pauseOnHover: false, 1973 pauseOnDotsHover: false, 1974 arrows: false, 1975 dots: false, 1976 asNavFor: thumbnails 1977 }); 1978 1979 thumbnails.slick({ 1980 slidesToShow: 5, 1981 pauseOnFocus: false, 1982 pauseOnHover: false, 1983 pauseOnDotsHover: false, 1984 arrows: true, 1985 dots: false, 1986 focusOnSelect: true, 1987 asNavFor: targetSlider, 1988 responsive: [ 1989 { 1990 breakpoint: 768, 1991 settings: { 1992 slidesToShow: 3 1993 } 1994 } 1995 ] 1996 }); 1997 }); 1998 1999 $(document).on('click', 'main .galleryItems li', function () { 2000 const $this = $(this); 2001 const parentItems = $this.parent('.galleryItems'); 2002 const targetModal = parentItems.next('.modalArea'); 2003 const index = $this.index(); 2004 2005 $('main .modalArea').hide(); 2006 targetModal.fadeIn(300); 2007 2008 const slider = targetModal.find('.slider'); 2009 if (slider.length && slider.hasClass('slick-initialized')) { 2010 slider.slick('slickGoTo', index, true); 2011 slider.slick('setPosition'); 2012 targetModal.find('.thumbnails').slick('setPosition'); 2013 } 2014 }); 2015 2016 $(document).on('click', 'main .modalArea .closeButton', function () { 2017 $(this).closest('.modalArea').fadeOut(300); 2018 }); 2019 2020 $(window).on('load resize', function () { 2021 const modalArea = $('main .modalArea:visible'); 2022 if (modalArea.length) { 2023 const wrapper = modalArea.find('.wrapper'); 2024 const wrapperHeight = wrapper.outerHeight(); 2025 if ($(window).height() - 40 <= wrapperHeight) { 2026 wrapper.addClass('fixedOnTop'); 2027 } else { 2028 wrapper.removeClass('fixedOnTop'); 2029 } 2030 } 2031 }); 2032 2033 $(document).on('click', 'main .galleryItems li', function () { 2034 const modalArea = $('main .modalArea:visible'); 2035 if (modalArea.length) { 2036 const wrapper = modalArea.find('.wrapper'); 2037 const wrapperHeight = wrapper.outerHeight(); 2038 if ($(window).height() - 40 <= wrapperHeight) { 2039 wrapper.addClass('fixedOnTop'); 2040 } 2041 } 2042 }); 2043 } 2044 2045 2046//hotelsDetail spa sectionTabs, images 2047 const spaInformation = $('#hotelsDetail.spa .spaInformation'); 2048 const spaSectionTabs = spaInformation.find('.sectionTabs li'); 2049 const spaVariableContents = spaInformation.find('.variableContents'); 2050 spaSectionTabs.find('a').on('click', function(e){ 2051 e.preventDefault(); 2052 const tabIndex = $(this).parent('li').index(); 2053 spaSectionTabs.removeClass('current'); 2054 spaInformation.find('.sectionTabs').each(function(){ 2055 $(this).find('li').eq(tabIndex).addClass('current'); 2056 }); 2057 spaVariableContents.hide(), spaVariableContents.eq($(this).parent('li').index()).fadeIn(300); 2058 othersSlider.hide(), othersSlider.eq(tabIndex).fadeIn(300), othersSlider.eq(tabIndex).find('.slider').slick('setPosition'); 2059 }); 2060 2061 spaVariableContents.find('.inSections .thumbnails li').on('click', function(){ 2062 const targetImages = $(this).parents('.textArea').prev('.images').find('li'); 2063 const targetImage = targetImages.eq($(this).index()); 2064 if(targetImage.is(':visible')) return; 2065 targetImages.hide(), targetImage.fadeIn(300); 2066 }); 2067 2068 if($('#hotelsDetail.spa').length){ 2069 $(window).on('load resize', function(){ 2070 let winW = $(window).width(); 2071 let mensImgH = $('#js-mensInkoImg img').height(); 2072 2073 if(winW > 767 && mensImgH > 180) { 2074 $('#js-mensInkoImg img, #js-womensInkoImg img').css({ 2075 width:"auto", 2076 height:"180px" 2077 }); 2078 } else if(winW > 767) { 2079 $('#js-mensInkoImg img, #js-womensInkoImg img').css({ 2080 width:"130px", 2081 height:"auto" 2082 }); 2083 } else { 2084 $('#js-mensInkoImg img, #js-womensInkoImg img').css({ 2085 width:"100%", 2086 height:"auto" 2087 }); 2088 } 2089 }); 2090 2091 $('.pickupSlider .slider').slick({ 2092 autoplay: true, 2093 autoplaySpeed: 4000, 2094 slidesToShow: 1, 2095 pauseOnFocus: false, 2096 pauseOnHover: false, 2097 pauseOnDotsHover: false,
2098 arrows: false, 2099 dots: true 2100 }); 2101 } 2102 2103 2104//hotelsDetail commonInformationArea01 tabs 2105 const commonInformationArea01 = $('.commonInformationArea01'); 2106 const informationTabs = commonInformationArea01.find('.informationTabs li'); 2107 const informations = commonInformationArea01.find('.informations'); 2108 informationTabs.on('click', function(){ 2109 informationTabs.removeClass('current'), $(this).addClass('current'); 2110 informations.hide(), informations.eq($(this).index()).fadeIn();; 2111 }); 2112 2113 2114//hotelsDetail gallery tab 2115 $(document).on('click', '#hotelsDetail.gallery main .sectionTabs > li > a', function (e) { 2116 e.preventDefault(); 2117 const $li = $(this).parent('li'); 2118 const $tabs = $('#hotelsDetail.gallery main .sectionTabs > li'); 2119 const $contents = $('#hotelsDetail.gallery main .variableContents'); 2120 2121 $tabs.removeClass('current'); 2122 $li.addClass('current'); 2123 $contents.hide().eq($li.index()).fadeIn(300); 2124 }); 2125 2126 $(document).on({ 2127 mouseenter: function () { 2128 $(this).find('.dropDown').fadeIn(200); 2129 }, 2130 mouseleave: function () { 2131 $(this).find('.dropDown').fadeOut(200); 2132 } 2133 }, '#hotelsDetail.gallery main .sectionTabs > li'); 2134 2135 2136 2137//commonFaqList01 accordion 2138 $(document).on('click', 'main .commonFaqList01 dl', function() { 2139 if (!$(this).hasClass('open')) { 2140 $(this).addClass('open'); 2141 $(this).find('dd').slideDown(200); 2142 } else { 2143 $(this).removeClass('open'); 2144 $(this).find('dd').stop(true, true).slideUp(200); 2145 } 2146 }); 2147 2148 2149//best conditionsArea accordion 2150 const conditionsTitle = $('#best main .conditionsTitle'); 2151 const conditions = $('#best main .conditions'); 2152 conditionsTitle.on('click', function(){ 2153 if(!$(this).hasClass('open')){ 2154 $(this).addClass('open'), conditions.slideDown(200); 2155 }else{ 2156 $(this).removeClass('open'), conditions.stop(true, true).slideUp(200); 2157 } 2158 }); 2159 2160 2161//dormyinn service 2162 if($('#service').length){ 2163 $('.sections .commonSlider01').each(function(){ 2164 const targetSlider = $(this).find('.slider'); 2165 targetSlider.slick({ 2166 autoplay: true, 2167 autoplaySpeed: 4000, 2168 slidesToShow: 3, 2169 pauseOnFocus: false, 2170 pauseOnHover: false, 2171 pauseOnDotsHover: false, 2172 arrows: false, 2173 dots: true, 2174 centerMode: true, 2175 centerPadding: 0, 2176 responsive: [ 2177 { 2178 breakpoint: 768, 2179 settings: { 2180 slidesToShow: 1, 2181 centerMode: false 2182 } 2183 } 2184 ] 2185 }); 2186 }); 2187 2188 2189 $('.contentTabs li').on('click', function(){ 2190 $('.contentTabs li').removeClass('current'), $(this).addClass('current'); 2191 $('.variableContents').hide(), $('.variableContents').eq($(this).index()).fadeIn(300);; 2192 }); 2193 } 2194 2195 2196//dormyinn rooms accordion 2197 if($('#infoRooms').length){ 2198 const roomsAccordionTrigger = $('main .sections .listArea .accButton '); 2199 roomsAccordionTrigger.on('click', function(){ 2200 const roomsAccordionTarget = $(this).next('ul'); 2201 if(!$(this).hasClass('open')){ 2202 $(this).addClass('open'), roomsAccordionTarget.fadeIn(200).css({display: 'flex'}); 2203 }else{ 2204 $(this).removeClass('open'), roomsAccordionTarget.fadeOut(200); 2205 } 2206 }); 2207 } 2208 2209}); 2210 2211 2212//adaptImage 2213let currentState; 2214const targetLength = $('img.adaptImage').length; 2215$(window).on('load resize', function(){ 2216 if(currentState === undefined){currentState = BPMax767.matches ? true : false;} 2217 if(BPMax767.matches && currentState){ 2218 $('img.adaptImage').each(function(index){ 2219 const img = new Image(); 2220 const targetImage = $(this); 2221 const resultSrc = $(this).attr('src').replace(/\/img\//, '/img/sp/'); 2222 img.src = resultSrc; 2223 $(img).on('load', function(){ 2224 targetImage.attr({src: resultSrc, width: img.width, height: img.height}); 2225 }); 2226 if(index == targetLength - 1){currentState = false;} 2227 }); 2228 }else if(!BPMax767.matches && !currentState){ 2229 $('img.adaptImage').each(function(index){ 2230 const img = new Image(); 2231 const targetImage = $(this); 2232 const resultSrc = $(this).attr('src').replace(/\/img\/sp\//, '/img/'); 2233 img.src = resultSrc; 2234 $(img).on('load', function(){ 2235 targetImage.attr({src: resultSrc, width: img.width, height: img.he
2235ight}); 2236 }); 2237 if(index == targetLength - 1){currentState = true;} 2238 }); 2239 } 2240}); 2241 2242//campaignModal 2243const campaignModalClose = document.querySelectorAll('.js-campaignModalClose, .js-campaignModalTextClose, .js-campaignModalBackOverlay'); 2244campaignModalClose.forEach(function (element) { 2245 element.addEventListener('click', function () { 2246 const campaignflg = this.dataset.campaign; 2247 // if (campaignflg.includes("member")) { 2248 // if (campaignflg.includes("summerCampaign")) { 2249 // if (campaignflg.includes("winterCampaign")) { 2250 if (campaignflg.includes("grandThanksgivingCampaign")) { 2251 // ç¾å¨ã®ãã¼ã¸ãã¹ãåå¾ 2252 let pagePath = window.location.pathname.replace(/\//g, '_'); // ãã¹ãCookieåã«å©ç¨ããããå½¢å¼ã«å¤æ´ 2253 pagePath = pagePath.replace(/_$/, ''); 2254 // const cookieName = `campaign_member${pagePath}`; 2255 //const cookieName = `campaign_summer${pagePath}`; 2256 // const cookieName = `campaign_winter${pagePath}`; 2257 const cookieName = `campaign_grandThanksgiving${pagePath}`; 2258 2259 // Cookieã«ãã¼ã¿ãä¿å (1å¹´å¾ã¾ã§æå¹) 2260 setCookie(cookieName, 'true', 365); 2261 2262 campaignModalHide(campaignflg); 2263 } 2264 }); 2265}); 2266 2267if (campaignModalClose.length > 0) { 2268 setTimeout(() => { 2269 // ç¾å¨ã®ãã¼ã¸ãã¹ãåå¾ãã¦Cookieåã«å©ç¨ 2270 let pagePath = window.location.pathname.replace(/\//g, '_'); 2271 pagePath = pagePath.replace(/_$/, ''); 2272 //const cookieName = `campaign_member${pagePath}`; 2273 //const cookieName = `campaign_summer${pagePath}`; 2274 //const cookieName = `campaign_winter${pagePath}`; 2275 const cookieName = `campaign_grandThanksgiving${pagePath}`; 2276 2277 // Cookieã«ãã¼ã¿ãä¿åï¼æå¹æé1å¹´ï¼ 2278 //setCookie(cookieName, 'true', 365); 2279 2280 // ã¢ã¼ãã«ãé表示ã«ãã 2281 if (document.querySelector('.campaignModalWrap')) { 2282 //campaignModalHide('member'); 2283 //campaignModalHide('summerCampaign'); 2284 //campaignModalHide('winterCampaign'); 2285 campaignModalHide('grandThanksgivingCampaign'); 2286 } 2287 }, 5000); 2288} 2289 2290// ã¢ã¼ãã«ãé表示ã«ãã颿° 2291function campaignModalHide(campaign) { 2292 document.getElementById('js-campaignModal--' + campaign).style.display = "none"; 2293 document.getElementById('js-campaignModalBackOverlay--' + campaign).style.display = "none"; 2294} 2295 2296//bestrateModal 2297const bestrateModalBtnOpen = $('.js-bestrateModalBtnOpen'); 2298const bestrateModal = $('#js-bestrateModal'); 2299const bestrateModalBackOverlay = $('#js-bestrateModalBackOverlay'); 2300const bestrateModalClose = $('#js-bestrateModalClose'); 2301bestrateModalBtnOpen.on('click', function(){ 2302 bestrateModal.show(); 2303 bestrateModalBackOverlay.show(); 2304}); 2305bestrateModalClose.on('click', function(){ 2306 bestrateModal.hide(); 2307 bestrateModalBackOverlay.hide(); 2308}); 2309 2310// åç»ãã¬ã¤ã¤ã¼ç®¡ç 2311let youtubePlayers = {}; 2312 2313window.addEventListener('DOMContentLoaded', function () { 2314 const youtubeIframes = document.querySelectorAll('iframe[id^="nono_top_movie"], iframe[id^="resortHotelsMovie"]'); 2315 2316 // YouTube API èªã¿è¾¼ã¿ 2317 if (youtubeIframes.length) { 2318 const tag = document.createElement('script'); 2319 tag.src = "https://www.youtube.com/iframe_api"; 2320 const firstScriptTag = document.getElementsByTagName('script')[0]; 2321 firstScriptTag.parentNode.insertBefore(tag, firstScriptTag); 2322 } 2323}, false); 2324 2325// YouTube IFrame API åæå 2326function onYouTubeIframeAPIReady() { 2327 const youtubeIframes = document.querySelectorAll('iframe[id^="nono_top_movie"], iframe[id^="resortHotelsMovie"]'); 2328 youtubeIframes.forEach(iframe => { 2329 const id = iframe.id; 2330 youtubePlayers[id] = new YT.Player(id, { 2331 events: { 2332 'onReady': onPlayerReady 2333 } 2334 }); 2335 }); 2336} 2337 2338// ãã¬ã¼ã¤ã¼æºåå®äºæã®å¦ç 2339function onPlayerReady(event) { 2340 checkVideoVisibility(event.target); 2341 window.addEventListener('scroll', () => checkVideoVisibility(event.target)); 2342} 2343 2344// åç»è¡¨ç¤ºå¤å®ã¨åç/忢å¶å¾¡ 2345function checkVideoVisibility(player) { 2346 const iframe = player.getIframe(); 2347 const bounding = iframe.getBoundingClientRect(); 2348 2349 // 親è¦ç´ ã®è¡¨ç¤ºç¶æ ãç¢ºèª 2350 const parentArea = iframe.closest('.hotelTopMovieArea, .resortHotelsMovieArea'); 2351 const isActive = parentArea && parentArea.classList.contains('active'); 2352 2353 // ãã¥ã¼ãã¼ãå ã«ãããç¢ºèª 2354 const isVisible = bounding.top >= 0 && bounding.bottom <= window.innerHeight; 2355 2356 if (isVisible && isActive) { 2357 player.mute(); 2358 player.playVideo(); 2359 } else { 2360 player.pauseVideo(); 2361 } 2362} 2363 2364// ã¿ãã¯ãªãã¯ã¤ãã³ãã®ç»é² 2365const tabSelectors = ['.js-hotelTopMoviTabList', '.js-resortHotelsMovieTab']; 2366
2367tabSelectors.forEach(selector => { 2368 const tabList = document.querySelectorAll(selector); 2369 2370 tabList.forEach(tab => { 2371 tab.addEventListener('click', function () { 2372 // ãã¹ã¦ã®ã¿ãã¨ã¨ãªã¢ã®ã¢ã¯ãã£ãç¶æ ãè§£é¤ 2373 tabSelectors.forEach(sel => { 2374 document.querySelectorAll(sel).forEach(tab => tab.classList.remove('active')); 2375 }); 2376 document.querySelectorAll('.hotelTopMovieArea, .resortHotelsMovieArea').forEach(area => area.classList.remove('active')); 2377 2378 // ã¯ãªãã¯ãããã¿ãã¨å¯¾å¿ããã¨ãªã¢ãã¢ã¯ãã£ãå 2379 this.classList.add('active'); 2380 const movieId = this.dataset.movieid; 2381 const targetAreaId = `#js-hotelTopMovieArea--${movieId}, #js-resortHotelsMovieArea--${movieId}`; 2382 const targetArea = document.querySelector(targetAreaId); 2383 2384 if (targetArea) { 2385 targetArea.classList.add('active'); 2386 } 2387 2388 // ãã¹ã¦ã®ãã¬ã¼ã¤ã¼ã®åç/忢å¶å¾¡ 2389 Object.keys(youtubePlayers).forEach(playerId => { 2390 const player = youtubePlayers[playerId]; 2391 2392 // 鏿ããããã¬ã¼ã¤ã¼ãåçããã®ä»ã忢 2393 if (playerId === `nono_top_movie--${movieId}` || playerId === `resortHotelsMovie--${movieId}`) { 2394 checkVideoVisibility(player); 2395 } else { 2396 player.pauseVideo(); 2397 } 2398 }); 2399 }); 2400 }); 2401}); 2402 2403// ããã«ä¸è¦§ æ°è¦ãªã¼ãã³ã»ãªãã¥ã¼ã¢ã«æ¥ãã1å¹´çµéããã¨èªåã§åé¤ 2404// ç¾å¨ã®æ¥ä»ãåå¾ 2405const currentDate = new Date(); 2406 2407// æ¥æ¬æéãISO 8601å½¢å¼ã§åå¾ãã颿° 2408function getJapanISODate(date) { 2409 return new Date(date.toLocaleString('en-US', { timeZone: 'Asia/Tokyo' })).toISOString(); 2410} 2411 2412// ã¢ã¤ãã ãæã¤è¦ç´ ãåå¾ 2413const hotelItems = document.querySelectorAll('.js-newHoteItem'); 2414 2415// åè¦ç´ ã®æ¥ä»ããã§ã㯠2416hotelItems.forEach(item => { 2417 const dateElement = item.querySelector('.js-newHoteDate'); 2418 2419 if (dateElement) { 2420 // æ¥ä»ãåå¾ãã¦Dateãªãã¸ã§ã¯ãã«å¤æ 2421 const dateText = dateElement.textContent.trim(); 2422 const itemDate = new Date(dateText.replace(/\./g, '-')); 2423 2424 // 1年以ä¸åãã©ããããã§ã㯠2425 const oneYearAgo = new Date(getJapanISODate(currentDate)); 2426 oneYearAgo.setFullYear(oneYearAgo.getFullYear() - 1); 2427 2428 if (itemDate < oneYearAgo) { 2429 // åé¤å¯¾è±¡ã®ããã«åãåå¾ 2430 const hotelNameElement = item.querySelector('.js-listHotelName'); 2431 if (hotelNameElement) { 2432 const hotelName = hotelNameElement.textContent.trim(); 2433 2434 // åãããã«åã® .js-listHoteDateArea ãåé¤ 2435 document.querySelectorAll('.commonItems10 .category01').forEach(categoryItem => { 2436 const categoryHotelName = categoryItem.querySelector('.js-listHotelName'); 2437 if (categoryHotelName && categoryHotelName.textContent.trim() === hotelName) { 2438 // `js-listHoteDateArea` ãåé¤ 2439 const dateArea = categoryItem.querySelector('.js-listHoteDateArea'); 2440 if (dateArea) { 2441 dateArea.remove(); 2442 } 2443 2444 // `js-listHoteDateInner` ãã `listHoteDateInner` ã¯ã©ã¹ãåé¤ 2445 const dateInner = categoryItem.querySelector('.js-listHoteDateInner'); 2446 if (dateInner) { 2447 dateInner.classList.remove('listHoteDateInner'); 2448 } 2449 } 2450 }); 2451 } 2452 2453 // `js-newHoteItem` èªä½ãåé¤ 2454 item.remove(); 2455 } 2456 } 2457}); 2458 2459 2460// hotelSearchFormFixingï¼ç·åTOPã§ä¸é¨ã®æ¤ç´¢ã¬ã¸ã§ããï¼fixingInputAreaï¼ãä½µç¨ããå ´åã®ãã©ã¼ã 2461['hotelSearchForm', 'hotelSearchFormFixing'].forEach(function (formId) { 2462const form = document.getElementById(formId); 2463if (form) { 2464 form.addEventListener('submit', function (e) { 2465 e.preventDefault(); 2466 2467 const params = new URLSearchParams(); 2468 2469 this.querySelectorAll('input[name], select[name]').forEach(el => { 2470 const name = el.name; 2471 const value = el.value; 2472 2473 if ( 2474 name === 'number_of_adults' || 2475 name === 'number_of_children_need_futons' || 2476 name === 'number_of_children_no_need_futons' 2477 ) { 2478 return; 2479 } 2480 2481 if (value !== '') { 2482 params.append(name, value); 2483 } 2484 }); 2485 2486 const roomGroups = this.querySelectorAll('.room-group'); 2487 2488 params.set('number_of_rooms', roomGroups.length); 2489 2490 roomGroups.forEach(room => { 2491 room.querySelectorAll('.numberSelect').forEach(select => { 2492 const name = select.dataset.inputName; 2493 const value = select.querySelector('.number').textContent.trim(); 2494 2495 switch (name) { 2496 case 'number_of_adults': 2497 params.append('number_of_adults[]', value); 2498 break; 2499 2500 case 'number_of_children_need_futons': 2501 params.append('number_of_children_need_futons[]', value); 2502 break; 2503 2504 case 'number_of_children_no_need_futons': 2505 params.append('number_of_children_no_need_futons[]', value); 2506 break; 2507 } 2508 }); 2509 }); 2510 2511 params.set('stock_check', 'true'); 2512 2513 const searchByTag = params.get('search_by_tag'); 2514 const origin = window.location.origin; 2515 2516 const destination = 2517 searchByTag === 'plan' 2518 ? `${origin}/reserve/search-plan` 2519 : `${origin}/reserve`; 2520 2521 location.href = `${destination}?${params.toString()}`; 2522 }); 2523}; 2524}); 2525 2526// floatingBannerï¼è¿½å¾ããã¼ï¼ã¯ãã¼ãºå¦ç 2527(function() { 2528 const floatingBanner = document.getElementById('js-floatingBanner'); 2529 const floatingBannerClose = document.getElementById('js-floatingBannerClose'); 2530 2531 if (floatingBannerClose && floatingBanner) { 2532 floatingBannerClose.addEventListener('click', function() { 2533 floatingBanner.style.display = 'none'; 2534 }); 2535 } 2536})();
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.