กำลังเรียกใช้ keyboard_arrow_right
5 กม.keyboard_arrow_right
Asiakeyboard_arrow_right
เวียดนาม
keyboard_arrow_left
keyboard_arrow_right
เกี่ยวกับ รายละเอียดหลักสูตร รวมอะไรบ้าง บทวิจารณ์ คำถามที่พบบ่อย ผลลัพธ์
Vn Express Marathon โฮจิมินห์ซิตี้เที่ยงคืน กำหนดการ ยกเลิกตั๋ว 24 ชม
local_activity ข้อเสนอและส่วนลด
ยืนยัน_ผู้ใช้ การจองคืนเงินได้
เข้าร่วม VnExpress Marathon Ho Chi Minh City Midnight VnExpress Marathon Ho Chi Minh City Midnight เป็นการวิ่งมาราธอนกลางคืนขนาดใหญ่ครั้งแรกที่จัดขึ้นในเมืองที่มีชีวิตชีวาที่สุดของเวียดนาม การแข่งขันจะเริ่มในเวลาเที่ยงคืนของวันที่ 12 กุมภาพันธ์ 2023 ผ่านสถานที่สำคัญทั่วเมืองโฮจิมินห์ ผู้ร่วมงานจะมีโอกาสสัมผัสความงามของเมืองในยามค่ำคืนท่ามกลางอากาศเย็นสบายของปลายเดือนกุมภาพันธ์
นี่เป็นทัวร์นาเมนต์ที่สองในระบบ VnExpress Marathon ที่จะจัดขึ้นในตอนกลางคืน รองจากฮานอย นักวิ่งหลายคนที่เคยสัมผัสงาน VM Hanoi Midnight 2020 กล่าวว่าการวิ่งตอนกลางคืนทำให้พวกเขาได้เห็นเมืองในเวอร์ชันที่เงียบสงบ ซึ่งแตกต่างจากความเร่งรีบและวุ่นวายของวัน สภาพอากาศที่เอื้ออำนวยในตอนกลางคืนยังช่วยให้นักวิ่งได้ผลลัพธ์ที่ดีอีกด้วย
VnExpress Marathon Ho Chi Minh City Midnight จัดโดย VnExpress ร่วมกับคณะกรรมการประชาชนนครโฮจิมินห์และกรมวัฒนธรรมและกีฬาแห่งนครโฮจิมินห์ การแข่งขันจะเริ่มการแข่งขัน VnExpress Marathon ในปี 2023 โดยมีกำหนดจะจัดขึ้นที่เมืองเว้ กวีเญิน ฮาลอง ญาจาง ฮานอย และไฮฟอง
อ่านเพิ่มเติม รายละเอียดหลักสูตร แท็กอื่นๆ
สะพาน
เมือง
ปิดถนน
ประวัติศาสตร์
ได้รับการรับรองจาก AIMS
ผู้เข้าร่วม 5,000-9999 คน
จุดเด่นของหลักสูตร
VnExpress Marathon Ho Chi Minh City Midnight เป็นการวิ่งมาราธอนกลางคืนขนาดใหญ่ครั้งแรกที่จัดขึ้นในเมืองที่มีชีวิตชีวาที่สุดของเวียดนาม การแข่งขันจะเริ่มในเวลาเที่ยงคืนของวันที่ 12 กุมภาพันธ์ 2023 ผ่านสถานที่สำคัญทั่วเมืองโฮจิมินห์ ผู้ร่วมงานจะมีโอกาสสัมผัสความงามของเมืองในยามค่ำคืนท่ามกลางอากาศเย็นสบายของปลายเดือนกุมภาพันธ์
อ่านเพิ่มเติม
ที่อยู่เริ่มต้น: นครโฮจิมินห์ ประเทศเวียดนาม
รวมอะไรบ้าง สิ่งเหล่านี้รวมอยู่ในรายการของคุณ
เสร็จแล้ว เหรียญชัย
เสร็จแล้ว เสื้อยืดกิจกรรม
เสร็จแล้ว เสื้อยืดของ Finisher
เสร็จแล้ว E-certificate/e-Diploma
เสร็จแล้ว รางวัลเงินสด
เสร็จแล้ว ชิปจับเวลา (ใช้ครั้งเดียว)
เสร็จแล้ว เพเซอร์
เสร็จแล้ว บริการถ่ายภาพ
เสร็จแล้ว งานเอ็กซ์โป
เสร็จแล้ว อาหารหลังแข่ง
เสร็จแล้ว ที่จอดรถ
เสร็จแล้ว สถานีเครื่องดื่ม
เสร็จแล้ว สถานีโภชนาการ
เสร็จแล้ว ความช่วยเหลือทางการแพทย์
เสร็จแล้ว วางกระเป๋า
เสร็จแล้ว ห้องสุขา
ดู0 มากกว่า
ย่ำแย่ star_border
ยากจน star_border
ตกลง star_border
ดีมาก star_border
ยอดเยี่ยม star_border
เป็นคนแรกที่เขียนรีวิวสำหรับกิจกรรมนี้
ฉันจะรับ BIB/เรซแพ็ก ได้เมื่อใดและที่ไหน
keyboard_arrow_down
เช็คอินและรับชุดแข่ง VnExpress Marathon Ho Chi Minh City Midnight 2023: 09/02/2023-11/02/2023- วันแข่งขัน: 12/02/2023
Vn Express Marathon โฮจิมินห์ซิตี้เที่ยงคืน กำหนดการ ยกเลิกตั๋ว 24 ชม
local_activity ข้อเสนอและส่วนลด
ยืนยัน_ผู้ใช้ การจองคืนเงินได้
พบข้อมูลการแข่งขันบนเว็บไซต์อย่างเป็นทางการของงานหรือผ่านแหล่งข้อมูลที่เปิดเผยต่อสาธารณะ อ้างอิงข้อมูลการแข่งขันล่าสุดจากเว็บไซต์ทางการเสมอ โปรดแจ้งให้เราทราบหากข้อมูลใดผิดพลาดหรือขาดหายไปโดยส่งอีเมลถึงเรา
สมัครรับจดหมายข่าวมาราธอนระดับโลก เสร็จแล้ว ข้อเสนอและส่วนลด
เสร็จแล้ว เคล็ดลับของนักวิ่ง
เสร็จแล้ว การค้นพบเหตุการณ์
การตั้งค่า ภาษา
แนบ_money
ยืดตัว
© 2021 Worldsmarathons.com เป็นบริการและแบรนด์ของ World's Sports Group สงวนลิขสิทธิ์.
'); } $youtubeDiv.html('
'); ถ้า (isMobile) { var $slickSliderWrapper = $('
'); var $youtubeSliderWrapper = $('
'); $youtubeSliderWrapper.append($youtubeDiv); $slickSliderWrapper.addClass('ดูภาพตัวอย่าง'); $slickSliderWrapper.css('ความกว้าง', windowWidth); $slickSliderWrapper.append($youtubeSliderWrapper); $eventLightBoxContent.append($slickSliderWrapper); } อื่น { $eventLightBoxContent.append($youtubeDiv); } $divThumbnail.css('ภาพพื้นหลัง', 'url(' + $(e).attr('src') + ')'); $div.css('ภาพพื้นหลัง', 'url(' + $(e).attr('src') + ')'); } อื่น { $divThumbnail.css('background-image', 'url(' + $(e).attr('src') + ')'); $div.css('ภาพพื้นหลัง', 'url(' + $(e).attr('src') + ')'); ถ้า (i == activeImage && !isMobile) { $div.css('animation-name', 'animationSliderShowLeft'); $divThumbnailWrapper.addClass('ใช้งานอยู่'); } } if (isMobile) { // div พิเศษสำหรับแถบเลื่อน var $slickSliderWrapper = $('
'); $slickSliderWrapper.addClass('ดูภาพตัวอย่าง'); $slickSliderWrapper.css('ความกว้าง', windowWidth); $slickSliderWrapper.append($div); if (!$(e).hasClass('youtube-thumbnail')) $eventLightBoxContent.append($slickSliderWrapper); } อื่น { if (!$(e).hasClass('youtube-thumbnail')) $eventLightBoxContent.append($div); $divThumbnailWrapper.append($divThumbnail); $eventLightBoxContentThumbnails.append($divThumbnailWrapper); } }); ถ้า (isMobile) { ถ้า (!$("#event-lightbox-content").hasClass('slick-initialized')) { $("#event-lightbox-content").slick(slickOptions); $("#event-lightbox-content").on('beforeChange', function (event, slick, currentSlide, nextSlide) { $("#event-lightbox-counter").html((nextSlide + 1) + ' / ' + $eventImages.length); activeImage = nextSlide; }); } $('#event-lightbox-content').slick('slickGoTo', activeImage); $("#event-lightbox-counter").html((activeImage + 1) + ' / ' + $eventImages.length); } อื่น { $("#event-lightbox-counter").html((activeImage + 1) + ' / ' + ($eventImages.length)); } ถ้า ($eventImages.length == 1) { $(".navigation-button").hide(); $("#event-lightbox-content-thumbnails").hide(); } $("body").css('overflow-y', 'ซ่อน'); $("#event-lightbox").show(); ถ้า (!isMobile) { $('#event-lightbox-content-thumbnails>div').eq(activeImage).click(); }}$(document).on('click', '#event-lightbox-content-thumbnails>div', function (evt) { var oldId = $('#event-lightbox-content-thumbnails').find( 'div.active').index(); var newActiveImage = $(นี้).index(); $('#event-lightbox-content-thumbnails').find('div').removeClass('active') ; var $eventImages = $("#event-lightbox-content>div"); $eventImages.eq(oldId).css('animation-name', 'animationSliderLeaveLeft'); $eventImages.eq(newActiveImage).css( 'animation-name', 'animationSliderShowRight'); $(this).addClass('active'); $("#event-lightbox-counter").html((newActiveImage + 1) + ' / ' + $eventImages. length); evt.stopPropagation(); });$(document).on('คลิก', '.play-icon i', ฟังก์ชัน () { expandImages();});ฟังก์ชันยุบรูปภาพ() { activeImage = 0 ; $(".event-images").each(function (i, elem) { $(elem).css('transform', 'translateX(' + (i * 100) + '%)'); }); $("body").css('overflow-y', 'auto'); $("#event-lightbox").hide(); $('#event-lightbox-content').empty(); toggleYoutubeVideoIcon(); ถ้า (isMobile) { $("#image-carousel-mobile").slick('slickGoTo', activeImage); ถ้า ($("#event-lightbox-content").hasClass("slick-initialized")) { $("#event-lightbox-content").removeClass("slick-initialized"); $("#event-lightbox-content").slick('unslick'); } }}// About Sectionfunction setUpAboutText() { if ($("#about-text").innerHeight() < 120) { $("#about-text-overlay").hide(); $('#เกี่ยวกับอ่านเพิ่มเติม').ซ่อน(); } $('#about-read-more').on('click', function (evt) { evt.preventDefault(); $("#about-text").css('max-height', 'ไม่ได้ตั้งค่า '); $("#about-text-overlay").hide(); $('.about-overflow').css('overflow', 'visible'); $('.about-overflow'). css('white-space', 'unset'); $(this).hide(); $("#about-show-less").show(); }); $("#about-show-less").on('click', function (evt) { evt.preventDefault(); $("#about-text").css('max-height', '120px' ); $("#about-text-overlay").show(); $('.about-overflow').css('overflow', 'hidden'); $('.about-overflow').css ('white-space', 'nowrap'); $(this).hide(); $('#about-read-more').show(); });};// รายละเอียดรายวิชา Sectionfunction setUpCourseDetailsText() { ถ้า ($("#course-highlights-in-details-text").innerHeight() < 240) { $("#course-highlights-in-details-overlay").hide(); $('#course-highlights-in-details-read-more').hide(); } $('#course-highlights-in-details-read-more').on('click', function (evt) { evt.preventDefault(); $("#course-highlights-in-details-text" ).css('max-height', 'unset'); $("#course-highlights-in-details-overlay").hide(); $('.course-highlights-in-details-overlay') .css('overflow', 'visible'); $('.course-highlights-in-details-overflow').css('white-space', 'unset'); $(this).hide(); $("#course-highlights-in-details-show-less").show(); }); $("#course-highlights-in-details-show-less").on('click', function (evt) { evt.preventDefault(); $("#course-highlights-in-details-text") .css('max-height', '240px'); $("#course-highlights-in-details-overlay").show(); $('.course-highlights-in-details-overflow'). css('overflow', 'hidden'); $('.course-highlights-in-details-overflow').css('white-space', 'nowrap'); $(this).hide(); $ ('#course-highlights-in-details-read-more').show(); });};// รวมอยู่ในส่วนค่าธรรมเนียมฟังก์ชั่น setUpIncludedInTheFeeSection() { $('#included-in-fee-text') .readmore({ ยุบความสูง: 100, ลิงก์เพิ่มเติม: '' + "อ่านเพิ่มเติม" + ' ', น้อยกว่าลิงค์: '' + "แสดงน้อยลง" + ' '}); }// รวมอยู่ในรายการของคุณฟังก์ชั่น showIncludesInfo(ชื่อบริการ, รายละเอียดบริการ) { $('#included-in-the-entry-modal-title').text(ชื่อบริการ); $('#included-in-the-entry-modal-details').text(serviceDetails); $('#included-in-the-entry-modal').show(); $('#modal-backdrop').show();}function closeIncludesInfo() { $('#included-in-the-entry-modal').hide(); $('#modal-backdrop').hide();}function setUpIncludeInYourEntryList() { var listItemCount = $("#includes-in-entry-list li").Length; ถ้า ($(หน้าต่าง).ความกว้าง() > 220 && listItemCount < 6) { $("#included-in-the-entry-section-overlay").hide(); $('#includes-in-entry-list-read-more').hide(); } อื่น { $("#includes-in-entry-show-more-count").text(listItemCount - 6); } $('#includes-in-entry-list-read-more').on('click', function (evt) { evt.preventDefault(); $("#included-in-the-entry-list- ส่วน").css('max-height', 'unset'); $("#included-in-the-entry-section-overlay").hide(); // $('.about-overflow') .css('overflow', 'visible'); // $('.about-overflow').css('white-space', 'unset'); $(นี้).hide(); $("# รวมในรายการรายการโชว์น้อย").แสดง(); }); $("#includes-in-entry-list-show-less").on('click', function (evt) { evt.preventDefault(); $("#included-in-the-entry-list-section ").css('max-height', '220px'); $("#included-in-the-entry-section-overlay").show(); // $('.about-overflow'). css('overflow', 'hidden'); // $('.about-overflow').css('white-space', 'nowrap'); $(นี้).hide(); $('#includes -in-entry-list-read-more').show(); });};// แถบด้านบน // ค้นหา// Datepickersfunction setUpTopBar() { $("#search-mobile-button").on( 'คลิก', ฟังก์ชัน () { var url = window.WM_CONF.web + 's?search=' + $("#search-input-text").val() + '&searchType=0'; if (selectedDateStart ! = ไม่ได้กำหนด) { url = url + '&fromDate=' + SelectedDateStart; } if (selectedDateEnd != undefined) { url = url + '&toDate=' + SelectedDateEnd; } window.location.href = url; return false; }); $("#event-page-search").on('click', function () { var searchText = $("#search-text").val(); var url = window.WM_CONF['เว็บ'] + 's?search=' + searchText + '&searchType=0'; var fromDateVal = $("#fromDate").val(); var toDateVal = $("#toDate").val(); if (fromDateVal && fromDateVal.length) { url += '&fromDate=' + fromDateVal; } if (toDateVal && toDateVal.length) { url += '&toDate=' + toDateVal; } location.href = url; }); $(".ปุ่มช่วงวันที่ค้นหา").บน('คลิก', ฟังก์ชัน () { ถ้า (!dateRangePickerLoaded) { document.head.append(dateRangeScript); dateRangeScript.addEventListener('load', function () { $("#date-picker-input-small").daterangepicker({ singleDatePicker: false, startDate: moment(), locale: { รูปแบบ: 'DD MMM', }, ranges: { 'Next 3 Months': [ช่วงเวลา (), ช่วงเวลา().เพิ่ม(3, 'เดือน')], } }, ฟังก์ชัน (เริ่ม, สิ้นสุด, ป้ายกำกับ) { SelectedDateStr = $(".drp-selected").html(); $(".search -ปุ่มช่วงวันที่").html(selectedDateStr); SelectedDateStart = start.format("DD-MM-YYYY"); SelectedDateEnd = end.format("DD-MM-YYYY"); $(".search-date -ปุ่มช่วง").addClass('btn-success'); $("#datepicker-close-button").click(); }); $("#date-picker-input-small").click( ); }); dateRangePickerLoaded = true; } อื่น { $("#date-picker-input-small").click(); } $("#datepicker-close-button").show(); $(" #วันที่เลือกลิ้นชัก").แสดง(); }); $(document).on('click', '.cancelBtn', function (e) { e.stopPropagation(); SelectedDateStr = undefined; $("#datepicker-close-button").hide(); $(" #ตัวเลือกวันที่ลิ้นชัก").ซ่อน(); $(".ปุ่มช่วงวันที่ค้นหา").html('วันที่'); $(".ปุ่มช่วงวันที่ค้นหา").removeClass('btn -success'); SelectedDateEnd = ไม่ได้กำหนด, SelectedDateStart = ไม่ได้กำหนด; }); $("#datepicker-close-button").on('click', function () { $("#date-picker-drawer").hide(); $(this).hide(); }); $('#open-sm-nav i').on('click', function (e) { if ($drawer.hasClass('open')) { $drawer.removeClass('open'); $(สิ่งนี้ ).removeClass('open'); $header.removeClass('open'); $drawerSearch.removeClass('open'); $('body').css('overflow-y', 'auto'); } อื่น { $('#close-sm-search').click(); $drawer.addClass('open'); $(this).addClass('open'); $header.addClass('open'); $("#modal-backdrop").show(); $drawer.focus(); $drawerSearch.removeClass('open'); $('body').css('overflow-y', 'hidden') ; $('.sub-container-spotlight.spotlight').each(function (index, elem) { if ($(elem).css('background-image') === 'none') $(elem) .css('ภาพพื้นหลัง', 'url(' + $(elem).attr('imgsrc') + ')'); }); } e.stopPropagation(); }); // ขยายการนำทางมือถือ $(".site-navigation-drawer-item").on('click', function () { if ($(this).hasClass('sub-open')) { return; } $ ('.sub-open').removeClass('sub-open'); $(นี้).addClass('sub-open'); }); // ปุ่มย้อนกลับมือถือ $('.sub-container-header i').on('click', function (e) { e.stopPropagation(); $('.sub-open').removeClass('sub- เปิด'); }); $.each($(".site-navigation-drawer-sub-container .link-item"), ฟังก์ชัน (i, elem) { $(elem).find('i').eq(1).hide( ); }); $(".site-navigation-drawer-sub-container .link-item").on('click', function (e) { e.stopPropagation(); var attr = $(นี้).attr('click- toggle-by-id'); var $carrets = $(นี้).find('i'); var $subContainer = $('.site-navigation-drawer-group-container[toggle-by-id="' + attr + '"]'); if ($subContainer.hasClass('open')) { $subContainer.removeClass('open'); $carrets.eq(1).hide(); $carrets.eq(0 ).show(); return; } $(".site-navigation-drawer-group-container").removeClass('open'); $carrets.eq(0).hide(); $carrets.eq(1 .show(); $subContainer.addClass('เปิด'); }); $.each(รองรับสกุลเงิน, ฟังก์ชัน (i, สกุลเงิน) { $('#currency-picker-mobile').append($('
', { ค่า: สกุลเงิน, ข้อความ: สกุลเงิน })); }); $('#currency-picker-mobile').val(getCookie('currency') || 'EUR'); $('#currency-picker-mobile').change(function () { setCookie('currency', $(this).val()); localStorage.removeItem('events-near-me'); location.reload (); }); // ลิ้นชักค้นหา $("#open-sm-search").on('click', function () { if ($(this).hasClass('open')) { $drawerSearch.removeClass('open') ; $(นี้).removeClass('open'); $closeSearch.removeClass('open'); $closeSearch.hide(); } อื่น { $drawerSearch.addClass('open'); $closeSearch.addClass('open' '); $closeSearch.show(); $(นี้).addClass('open'); } }); $($closeSearch).on('คลิก', ฟังก์ชัน () { $drawerSearch.removeClass('open'); $(นี้).removeClass('open'); $closeSearch.removeClass('open'); $closeSearch .hide(); $("#open-sm-search").removeClass('open'); }); var ยังคงค้นหา = เท็จ; $("#search-input-text").keyup(function (elem) { if (stillSearching) return; stillSearching = true; if ($(this.val() != undefined) { setTimeout(function () { stillSearching = false; getSuggestions($(elem.target).val(), true); }, 300); } }); $("#login-btn").on("คลิก", ฟังก์ชัน () { openLoginModal(); }); $("#facebook-login-button").on("click", function () { window.FB.login(function (response) { challengeCallback(response); }, { ขอบเขต: 'public_profile,email' }) ; }); $("#organzer-add-event").on('mouseover', function () { $(this).find('.dropdown-menu').show(); }); $("#organzer-add-event").on('mouseout', function () { $(this).find('.dropdown-menu').hide(); }); $("#login-button").on("click", function () { var username = $("#email-login").val(); var password = $("#password-login"). val(); $("#forgot-password-modal").hide(); $.get(window.WM_CONF.api + 'users/is-next-org?email=' + username) .done(function ( isOrg) { ถ้า (isOrg) window.location.href = window.WM_CONF.roNextUrl + '?msg=loginRedirect'; execLogin(ชื่อผู้ใช้ รหัสผ่าน); }); }); $("#forgot-password-link").on("click", function () { closeLoginModal(); $("#forgot-password-modal").show(); }); $("#login-close-button").on("click", function () { closeLoginModal(); $("#forgot-password-modal").hide(); }); $("#login-backdrop").on("click", function () { closeLoginModal(); $("#forgot-password-modal").hide(); }); $("#forget-pw-close-button").on("click", function () { $("#forgot-password-modal").hide(); }); $("#forget-pw-backdrop").on("click", function () { $("#forgot-password-modal").hide(); }); $("#login-backdrop").on("click", function () { closeLoginModal(); $("#forgot-password-modal").hide(); }); $("#back-to-login").on("click", function () { openLoginModal(); $("#forgot-password-modal").hide(); }); $("#become-a-member").on("click", function () { window.location.href = "https://worldsmarathons.com/register"; }); $("#open-sm-account a").on("click", function () { $('.user-mobile').show(); }); $("#send-recover-password-email").on("click", function () { var data = { email: $("#recover-email").val() }; $.post(หน้าต่าง .WM_CONF.api + 'account/sendpasswordlink' ข้อมูล) .done(function (resp) { $("#recover-password").hide(); $("#recover-password-email-sent").show (); }) .fail(ฟังก์ชัน (ข้อผิดพลาด) { $("#forgot-password-error").html(err.error_description); }); }); $(".suggestion-li").on("click", function () { $(this).find(a).click(); }); function challengeCallback(response) { if (response.status === 'connected') {/ // ลงชื่อเข้าใช้แอพและ Facebook ของคุณ execLogin(response.authResponse.userID, response.authResponse.accessToken, '&fb=true'); } อื่นถ้า (response.status === 'not_authorized') { // บุคคลนั้นลงชื่อเข้าใช้ Facebook แต่ไม่ใช่แอปของคุณ console.log('บุคคลนั้นเข้าสู่ระบบ Facebook แต่ไม่ใช่แอปของคุณ'); } อื่น { // บุคคลนั้นไม่ได้ลงชื่อเข้าใช้ Facebook ดังนั้นเราจึงไม่แน่ใจว่า // บุคคลนั้นลงชื่อเข้าใช้แอปนี้หรือไม่ console.log('ไม่ได้ล็อกอิน fb'); } } ฟังก์ชัน execLogin (ชื่อผู้ใช้ รหัสผ่าน fb) { $("#login-modal-error").hide(); $.post(window.WM_CONF.api + '/oauth2/token', 'ชื่อผู้ใช้=' + ชื่อผู้ใช้ + '&รหัสผ่าน=' + encodeURIComponent(รหัสผ่าน) + '&grant_type=password&client_id=099153c2625149bc8ecb3e85e03f0022' + (fb || ''), { 'ประเภทเนื้อหา': 'application/x-www-form-urlencoded', 'Accept': 'application/json' }).done(function (resp) { if (loginRedirect != null) { window.location. href = window.WM_CONF.web + loginRedirect; } else if (resp.redirectUrl) { location.href = resp.redirectUrl; } }).fail(function (err) { $("#login-modal-error"). html(err.responseJSON.error_description); $("#login-modal-error").show(); }); } // คลิกภายนอก window.addEventListener('click', function (e) { var targetId = $(e.target).attr("id"); var targetClass = $(e.target).attr("class" ); if (targetId != "ข้อความค้นหา" && targetClass != "search-box-col" && targetId != "โลโก้บัญชี") { $suggestionResults.hide(); $suggestionResultsMobile.hide(); $( ".user-mobile").hide(); } });};// แจ้งฉัน modalfunction alertMeModal (evt, id, title, website) { if (evt) { evt.preventDefault(); } ถ้า (เว็บไซต์) { $('#notify-me-website-link').attr('href', เว็บไซต์); $('#notify-me-website-link').text(website); $('#notify-me-website').show(); } $('#notify-button').attr('eid', id); var content = "รับการแจ้งเตือนเมื่อมีตั๋วสำหรับ {0}"; $('#notify-tickets-avail').text(content.replace('{0}', title)); $("#notify-me-modal").show(); $("#modal-backdrop").show();};function alertChange() { เงื่อนไข var = $("#notify-me-terms").prop("ตรวจสอบแล้ว"); ถ้า (เงื่อนไข) { $("#notify-button").removeAttr('disabled'); } อื่น { $("#notify-button").attr('disabled', 'disabled'); }};// เงื่อนไขสำหรับการลงทะเบียนในการแจ้งเตือน modalfunction alertChange() { var Terms = $("#terms-notified").prop("checked"); ถ้า (เงื่อนไข) { $("#notify-register-button").removeAttr('disabled'); } อื่น { $("#notify-register-button").attr('disabled', 'disabled'); }}ฟังก์ชัน alertRegister (evt) { evt.preventDefault (); var อีเมล = $("#email").html(); รหัสผ่าน var = $("#password").val(); var data = { อีเมล: อีเมล, ชื่อแรก: $("#name-input").val(), จดหมายข่าว: $("#newsletter-notified").prop("ตรวจสอบแล้ว"), รหัสผ่าน: รหัสผ่าน, tosandpp: $ ("#terms-notified").prop("checked") } $.post(window.WM_CONF.api + 'account/register', data) .done(function (res) { $.ajax({ ประเภท: " POST", beforeSend: ฟังก์ชัน (คำขอ) { request.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded'); 7 request.setRequestHeader("Accept", 'application/json'); } , url: window.WM_CONF.api + 'oauth2/token', ข้อมูล: 'ชื่อผู้ใช้=' + อีเมล + '&รหัสผ่าน=' + encodeURIComponent(รหัสผ่าน) + '&grant_type=password&client_id=099153c2625149bc8ecb3e85e03f0022', processData: เท็จ, ความสำเร็จ: ฟังก์ชัน ( msg) { console.log('successs'); location.reload(); }, error: function (err) { console.log(err); } }); }) .fail(function (err) { คอนโซล. ล็อก (ข้อผิดพลาด); });} ฟังก์ชัน alertMe (evt) { evt.preventDefault (); เงื่อนไข var = $("#notify-me-terms").prop("ตรวจสอบ"); จดหมายข่าว var = $("#notify-me-newsletter").prop("checked"); var email = $("#email-input").val(); var name = $("#name-input").val(); var eventId = $('#notify-button').attr('eid'); ข้อมูล var = {}; ถ้า (loggedUser == null) { data = { อีเมล: อีเมล, เงื่อนไข: เงื่อนไข, จดหมายข่าว: จดหมายข่าว, ชื่อ: ชื่อ, marathonId: eventId }; } อื่น { ข้อมูล = { อีเมล: loggedUser.email, เงื่อนไข: เงื่อนไข, จดหมายข่าว: จดหมายข่าว, ชื่อ: loggedUser.name, marathonId: eventId }; } $.post(window.WM_CONF.api + 'users/signupfornewsletter', data) .done(function (res) { $("#not-notified").hide(); $("#notified").show (); $("#email").html(data.email); }) .fail(function (err) { console.log(err); $("#error-subscribed").html(err.message ); $("#error-subscribed").show(); });}function getSuggestions(text, mobile = false) { $.get(window.WM_CONF.api + 'search/allsg?search=' + text ).done(function (คำแนะนำ) { if (!mobile) { $suggestionResults.empty(); } else { $suggestionResultsMobile.empty(); } $(suggestions).each(function (index, elem) { varข้อเสนอแนะLi = document.createElement("li"); $(suggestionLi).addClass("suggestion-li"); varข้อเสนอแนะLink = document.createElement("a"); if (elem.type == 0) { $(suggestionLink). attr('href', window.WM_CONF['web'] + 'marathon/' + elem.id); } อื่น { $(suggestionLink).attr('href', window.WM_CONF['web'] + 's ?search=' + text + '&searchType=' + elem.type); } var highlight = document.createElement("span"); $(suggestionLink).addClass('suggestion-link'); ไอคอน var = document.createElement ("ฉัน"); $(icon).addClass("วัสดุไอคอนดึงซ้าย"); var ไอคอนเนื้อหา; var locationContent; var raceTypeClass; var raceTypeLetter; สวิตช์ (elem.race_type) { กรณี "half_marathon": raceTypeClass = "ครึ่ง"; raceTypeLetter = "H"; หยุดพัก; กรณี "full_marathon": raceTypeClass = "เต็ม"; raceTypeLetter = "F"; หยุดพัก; กรณี "ultra_marathon": raceTypeClass = "ultra"; raceTypeLetter = "คุณ"; หยุดพัก; กรณี "กำหนดเอง": raceTypeClass = "กำหนดเอง"; raceTypeLetter = "O"; หยุดพัก; } สวิตช์ (elem.type) { กรณี 0: iconContent = ''; สถานที่เนื้อหา = "" + raceTypeLetter + " เหตุการณ์
"; break; case 1: iconContent = ''; locationContent = "เมือง
"; break; case 2: iconContent = ''; locationContent = "ประเทศ
"; break; case 3: iconContent = ''; locationContent = "ทวีป
"; break; } var registerButton = elem.type == 0 && elem.promoted ? 'ลงทะเบียน
' :''; $(icon).html(iconContent); $(highlight).html(elem.highlight); $(suggestionLink).ผนวก(ไอคอน); $(suggestionLink).ต่อท้าย(ไฮไลท์); $(suggestionLink).ต่อท้าย(locationContent); $(suggestionLink).ต่อท้าย(registerButton); $(suggestionLi).html(suggestionLink); ถ้า (!mobile) { $suggestionResults.append(suggestionLi); } อื่น { $suggestionResultsMobile.append(suggestionLi); } }); ถ้า (suggestions.length > 0) { ถ้า (!mobile) { $suggestionResults.show(); } อื่น { $suggestionResultsMobile.show(); } } });}// แท็บการนำทาง - เกี่ยวกับ เส้นทาง รีวิว ฟังก์ชั่น setUpTabs() { var tabs = $('.tabs a'); var isSet = เท็จ; $(".distance-links").on('click', function () { var productId = $(this).attr("distid"); var distanceInTicketBox = $(".name[pname='" + productId + "']"); if (distanceInTicketBox != undefined && DistanceInTicketBox.length > 0) { $('html, body').animate({ scrollTop: DistanceInTicketBox.offset().top - 120 }, 500, ฟังก์ชัน ( ) { setTimeout(ฟังก์ชัน () { enableScroll = จริง; }, 100); }); } }); $(".rating-link").on('click', function (evt) { evt.preventDefault(); $(".tabs a[href='#reviews']").click(); }) ; $(tabs).on('click', function (event) { var $this = $(this); if ($this.attr('href').indexOf('#') === 0) { เหตุการณ์ .preventDefault(); $(navigationTabs).each(function (i, l) { $(l).removeClass('selected'); var href = $(l).attr('href'); if ($this .attr('href') === href) { $(l).addClass('selected'); var $tab = $(href + '-tab-section'); if (!$tab.length) ส่งคืน ; enableScroll = false; $('html, body').animate({ scrollTop: $tab.offset().top - 100 }, 500, function () { setTimeout(function () { window.location.hash = href ; enableScroll = จริง }, 100); }); } }); } }); $(แท็บ).แต่ละ(ฟังก์ชัน (i, แท็บ) { var href = $(tab).attr('href'); if (href.indexOf('#') == 0) { navigationTabs.push(แท็บ) ; if (href === window.location.hash) { $(tab).addClass('selected'); $(tab)[0].click(); isSet = true; } } if (!isSet && i === ($(แท็บ).ความยาว - 1) && navigationTabs[0] !== undefined) { $(navigationTabs).eq(0).addClass('selected'); isSet = true; } });} ;// Site Navigationfunction setUpSiteNavigation() { var $siteNavigationOverlay = $('#site-navigation-overlay'); $(".site-navigation-item").on('mouseover', function () { var $sideMenu = $(this).find('.site-navigation-menu-side'); var $imgLoader = $ (นี้).find('.navigation-img-loader'); $(นี้).addClass('open'); $siteNavigationOverlay.addClass('open'); if ($sideMenu && $sideMenu.css('background -image') === 'ไม่มี') { $sideMenu.css('background-image', 'url(' + $sideMenu.attr('img-url') + ')'); setTimeout(function () { $imgLoader.hide(); $sideMenu.fadeIn('เร็ว'); }, 200); } }); $(".site-navigation-item").on('mouseout', function () { $(this).removeClass('open'); $siteNavigationOverlay.removeClass('open'); });};/ / สไลเดอร์ลื่น // สำหรับกิจกรรมจากผู้จัดรายเดียวกัน & ฟังก์ชันที่คล้ายกัน setUpSlickSlider() { var milliSecondsInADay = 86400400; ถ้า ( เท็จ) { $(".bucket-list-button").each(function (i, elem) { var id = $(elem).attr("event-id"); if (loggedUser != null && loggedUser.bucketlistEventIds.indexOf(id) > -1) { $(this).find('button').addClass('starred'); $(this).find('button i').html('') ); } }); $(".thumbs-up-button").on('click', function () { $(this).find('i').html('thumb_up_alt'); }); $(".thumbs-down-button").on('click', function () { $(this).find('i').html('thumb_down_alt'); }); } $(".bucket-list-button").on('click', function () { if (loggedUser == null) { openLoginModal("คุณต้องเข้าสู่ระบบเพื่อเพิ่มกิจกรรมในรายการที่ฝากข้อมูลของคุณ!", ' ฉัน/bucketlist');} อื่น { // บันทึกในรายการโปรด var $this = $(สิ่งนี้); var sliderEventId = $(สิ่งนี้).attr('event-id'); var callBack = ฟังก์ชัน (รายการโปรด) { $สิ่งนี้ .find('i').html(favorite ? 'favorite' : 'favorite_border'); }; saveToBucketList(sliderEventId, callBack);} });$(".event-image-background").each(ฟังก์ชัน ( ฉัน, elem) { $(elem).css('background-image', 'url(' + $(elem).attr('data-src') + ')');});// Distances$( ".race-event-distances").each(function (i, elem) { var distances = JSON.parse($(elem).attr('distances')); var distanceWrapper = $(elem).find(' .distances-letter')[0]; var DistancesConverted = CalculatorDistances(ระยะทาง); $(distancesConverted).each(ฟังก์ชัน (ดัชนี, dist) { var labelDistance = getLabel(dist); var className = getClass(dist); $( DistanceWrapper).html($(distanceWrapper).html() + '' + ป้ายระยะทาง + ' '); });});$("#same-organizer-events").slick(slickOptions);$("#similar-events,#recommended-events").slick(slickOptions);setTimeout(function () { $ ('.slick-slider-sections').fadeIn(); $("#same-organizer-events").slick('reinit'); $("#similar-events,#recommended-events").slick ('reinit');}, 200);$(".race-type").each(ฟังก์ชัน (ดัชนี, องค์ประกอบ) { ระยะทาง var = parseFloat($(elem).find('div').attr(' ระยะทาง')); $(elem).addClass(getClass(getConvertedDistance(distance))); $(elem).find('.distance-tag').html(getLabel(getConvertedDistance(distance))); // $ (elem).find('.popover-content-custom').html(getLabelDescription(distance));});$(".race-type").hover(function () { ระยะทาง var = parseFloat($( this).find('div').attr('distance')); showCustomPopover(getLabelDescription(distance), $(this), 2, 27);}, hideCustomPopover);$(".early-bird-button" ).hover(function () { showCustomPopover( "ตั๋วนกล่วงหน้า", $(นี้), -6, 40);}, HideCustomPopover);ฟังก์ชั่น showCustomPopover(str, $elem, offsetX, offsetY) { var topOffset = $elem .offset().top; var leftOffset = $elem.offset().left; var popoverCustom = $('.popover-กำหนดเอง'); popoverCustom.find('.popover-content-custom').html(str); var arrowCustom = popoverCustom.find('.arrow-custom'); $(arrowCustom).css('left', popoverCustom.width() / 2 - offsetX); popoverCustom.css('left', leftOffset - popoverCustom.width() / 2 + 15); popoverCustom.css('top', topOffset - $(window).scrollTop() + offsetY); popoverCustom.css('ความทึบ', 1); popoverCustom.show();}ฟังก์ชัน HideCustomPopover() { var popoverCustom = $('.popover-custom'); popoverCustom.css('ความทึบ', 0); popoverCustom.hide();}$(".event-link").on('click', function (evt) { var target = evt.target; if ($(target).hasClass('notify-me-event -slider')) { var id = $(this).attr('eid'); var title = $(this).attr('title'); var website = $(this).attr('website') ; alertMeModal(evt, id, title, website); return; } var lnk = $(this).attr('lnk'); window.location.href = lnk;});}function calculatorDistances(ระยะทาง) { var ตัวแบ่ง = currentMeasure === "0" || currentMeasure === ไม่ได้กำหนด ? 1,000 : 1,600; ถ้า (ระยะทาง === ไม่ได้กำหนด) กลับ; ระยะทาง varConverted = []; Distances.forEach(ฟังก์ชัน (dist) { var distanceFloat = parseFloat(dist.distance); ค่า var = distanceFloat / ตัวหาร; if (distancesConverted.indexOf(value) === -1) DistancesConverted.push(value); }); ส่งคืน DistancesConverted;} ฟังก์ชัน getConvertedDistance(val) { ถ้า (currentMeasure === "0" || currentMeasure === ไม่ได้กำหนด) { ส่งคืน val; } อื่น { กลับ (val * 0.62).toFixed(1); }}ฟังก์ชัน getClass(ระยะทาง) { ถ้า (getConvertedDistance(42) <= ระยะทาง && ระยะทาง < getConvertedDistance(42.5)) คืนค่า 'เต็ม'; อื่นถ้า (getConvertedDistance(42) > ระยะทาง && ระยะทาง >= getConvertedDistance(21.3)) ส่งคืน 'สีเขียวเข้มที่กำหนดเอง'; อื่นถ้า (getConvertedDistance(21) <= ระยะทาง && ระยะทาง < getConvertedDistance(21.3)) คืนค่า 'ครึ่ง'; อื่นถ้า (ระยะทาง > getConvertedDistance(42.5)) กลับ 'ultra wl'; อื่นถ้า (ระยะทาง < getConvertedDistance(21) && ระยะทาง > getConvertedDistance(10)) ส่งคืน 'สีเหลืองที่กำหนดเอง'; อื่นถ้า (ระยะทาง === getConvertedDistance(10)) ส่งคืน 'สีส้มที่กำหนดเอง'; อื่นถ้า (ระยะทาง < getConvertedDistance(10) && ระยะทาง > getConvertedDistance(5)) ส่งคืน 'สีชมพูที่กำหนดเอง'; อื่นถ้า (ระยะทาง === getConvertedDistance(5)) ส่งคืน 'สีแดงที่กำหนดเอง'; อื่นถ้า (ระยะทาง < getConvertedDistance(5) && ระยะทาง > getConvertedDistance(1)) ส่งคืน 'สีเขียวอ่อนที่กำหนดเอง'; อื่นกลับ 'กำหนดเองสีม่วง';};ฟังก์ชัน getLabel(ระยะทาง) { ถ้า (getConvertedDistance(42) <= ระยะทาง && ระยะทาง < getConvertedDistance(42.5)) คืนค่า 'M'; อื่นถ้า (getConvertedDistance(21) <= ระยะทาง && ระยะทาง < getConvertedDistance(21.3)) ส่งคืน 'H'; อื่น กลับ Math.round((ระยะทาง + Number.EPSILON) * 100) / 100;};ฟังก์ชัน getLabelDescription(ระยะทาง) { ถ้า (getConvertedDistance(42) <= ระยะทาง && ระยะทาง < getConvertedDistance(42.5)) กลับ '' + "มาราธอน" + '
' + getDistanceLabel(ระยะทาง) + '
'; อื่นถ้า (getConvertedDistance(42) > ระยะทาง && ระยะทาง >= getConvertedDistance(21.3)) กลับ '' + getDistanceLabel(ระยะทาง) + '
'; อื่นถ้า (getConvertedDistance(21) <= ระยะทาง && ระยะทาง < getConvertedDistance(21.3)) กลับ '' + "ฮาล์ฟมาราธอน" + '
' + getDistanceLabel(ระยะทาง) + ''; อื่นถ้า (ระยะทาง > getConvertedDistance(42.5)) กลับ '' + "อัลตร้ามาราธอน" + '
' + getDistanceLabel(ระยะทาง) + ''; อื่นถ้า (ระยะทาง < getConvertedDistance(21.3) && ระยะทาง > 0) กลับ '' + getDistanceLabel(ระยะทาง) + '
';};function getDistanceLabel(val) { return getConvertedDistance(val) + (currentMeasure === '0' ? ' Km' : ' Mi');};// ส่วนรีวิวฟังก์ชั่น setUpReviews() { $.get(window. WM_CONF.api + 'settings/review-credit').then(function (credit) { var ConvertCredits = converterPriceToSymbol(credit, null); if ($("#no-reviews").length > 0) { $(" #ไม่มีรีวิว").html($("#no-reviews").html().replace('{0}', ConvertCredits)); }});$.get(window.WM_CONF.api + ' บทวิจารณ์?eventId=' + "vnexpress-ho-chi-minh-city-midnight").then(ฟังก์ชัน (บทวิจารณ์) { allReviews = บทวิจารณ์; nextReviewPage(currentReviewPage);});};ฟังก์ชัน createReview() { window.location .href = "https://worldsmarathons.com/marathon/vnexpress-ho-chi-minh-city-midnight/review";};function nextReviewPage(pageIndex) { pageIndex = Math.max(pageIndex, 1); $(".reviews-table").empty(); $('.search-pager>div').empty(); เลขหน้า var = $(""); pagination.addClass('เหตุการณ์หน้าทบทวนการแบ่งหน้า'); var numberOfPages = allReviews.length / 3; ถ้า (pageIndex > 1) { $(เลขหน้า).ผนวก('keyboard_arrow_left
'); } for ( var if = Math . max ( pageIndex - ( pageIndex == Math . ceil ( numberOfPages ) ? 3 : 2 ), 0 ) if < Math . min ( pageIndex + ( pageIndex == 1 ? 2 : 1 ) ; Math .ceil(จำนวนหน้า)); if++) { $(เลขหน้า).ผนวก('' + (ใน + 1) + '
'); } ถ้า (ดัชนีหน้า < Math.ceil(numberOfPages)) { $(เลขหน้า).ต่อท้าย('keyboard_arrow_right
'); } $('.search-pager>div').ต่อท้าย(เลขหน้า); $('.review-page-item').removeClass('active-review-page'); $('.review-page-item[page-id="' + (pageIndex) + '"]').addClass('active-review-page'); var filtered = allReviews.slice((pageIndex - 1) * 3, (pageIndex) * 3); $(กรองแล้ว).แต่ละ(createNewReviewPage);}ฟังก์ชันcreateNewReviewPage(revInd, rev) { var tableLine = $(''); $(tableLine).addClass('รายการตาราง'); var reviewHeader = $(''); $(reviewHeader).addClass('คลิกทบทวนส่วนหัว'); $(reviewHeader).attr('onclick', 'gotoProfile(' + rev.userProfile + ')'); var reviewImageWrapper = $(''); $(reviewImageWrapper).addClass('รูปภาพวงกลม w-56 รีวิวผู้ใช้รูปภาพ'); $(reviewImageWrapper).html(' '); ชื่อผู้ใช้ var = $(''); userName.addClass ('ตรวจสอบชื่อผู้ใช้'); $(ชื่อผู้ใช้).html('' + rev.userDisplayName + ' ') var สัญชาติธง = $(''); ถ้า (rev.country) { สัญชาติFlag.addClass ('สัญชาติธง'); nationalFlag.css('ภาพพื้นหลัง', "url('https://wmimg.azureedge.net/public/img/country-flags/" + (rev.country.toLowerCase()) + ".svg')" ); } var createdReviewAt = $(''); $(createdReviewAt).attr('สไตล์', 'display: inline-block;position:absolute; right:0px; top: 20px;'); $(createdReviewAt).addClass('text-muted-2'); $(createdReviewAt).html('' + rev.strCreatedAt + ' ') $(reviewHeader).ต่อท้าย(reviewImageWrapper); userName.append(สัญชาติธง); $(reviewHeader).ต่อท้าย(ชื่อผู้ใช้); $(reviewHeader).ต่อท้าย(createdReviewAt); var reviewBody = $(''); $(reviewBody).attr('style', 'vertical-align:top'); var RatingContainer = $(''); $(ratingContainer).addClass('event-rating-container'); $(ratingContainer).addClass('event-rating-container-review'); var เรตติ้งWrapper = $(' '); $(ratingWrapper).addClass('เรทติ้ง'); สำหรับ (var i = 0; i < 5; i++) { var star = $(' '); ถ้า (i < rev.rating) { $(star).html('ดาว '); } อื่น { $(star).html('star_border '); } $(ratingWrapper).ต่อท้าย(ดาว); } var reviewContentWrapper = $(''); $(reviewContentWrapper).addClass('event-rating-content'); var reviewShort = $(''); $(reviewShort).attr('id', rev.id + '_content'); $(reviewShort).addClass('link-block-text review-content'); $(reviewShort).html(rev.content.length > 200 ? (rev.content.substr(0, 200) + ' ...' + "อ่านเพิ่มเติม" +' ') : (rev.content + (rev.strRace.length > 1 || rev.strDistance.length > 1 || (rev.distanceReview != undefined && rev.distanceReview.length > 1) ? '...' + "อ่านเพิ่มเติม" +' ' : ''))); var รีวิวเต็ม = $(''); $(reviewFull).hide(); $(reviewFull).addClass('link-block-text'); $(reviewFull).addClass('review-content'); $(reviewFull).html(rev.content); var strRaceDate = rev.straRaceDate != ไม่ได้กำหนด && rev.strRaceDate.length > 2 ? 'เหตุการณ์
' + rev.strRaceDate + '
' :''; var strDistance = rev.strDistance != ไม่ได้กำหนด && rev.strDistance.length > 2 ? 'เส้นทาง_วิ่ง
' + รอบ.strDistance + '
' :''; var DistanceReview = rev.distanceReview != ไม่ได้กำหนด ? '' + rev.distanceReview + '
' :''; $(reviewFull).html($(reviewFull).html() + '' + strRaceDate + strDistance + '
'); $(reviewFull).html($(reviewFull).html() + DistanceReview); $(reviewFull).attr('id', rev.id + '_content_full'); $(reviewContentWrapper).ต่อท้าย(reviewShort); $(reviewContentWrapper).append(reviewFull); $(ratingContainer).ต่อท้าย(ratingWrapper); $(reviewBody).ต่อท้าย(ratingContainer); $(reviewBody).append(reviewContentWrapper); $(tableLine).ต่อท้าย(reviewHeader); $(tableLine).ต่อท้าย(reviewBody); $(".reviews-table").ต่อท้าย(tableLine);};function goToProfile(userProfile) { window.location.href = userProfile;};function forward() { currentReviewPage++; nextReviewPage(currentReviewPage);};ฟังก์ชันย้อนกลับ() { currentReviewPage--; nextReviewPage(currentReviewPage);}$(document.on('click', '.review-read-more', function () { var revId = $(นี้.parent().attr('id'); $ ('#' + revId).hide(); $('#' + revId + '_full').show();});function createReview(rating) { track('review:writeFromEvent:click'); window.location.href = window.WM_CONF.web + 'marathon/' + eventId + '/review' + (คะแนน ? '?rating=' + คะแนน : '');}$(".route-map") on('click', function () { expandImages(true);});$('.create-review-icon').on('mouseover', function () { var currentHoveredIcon = $(นี้).attr( 'review'); $('.create-review-icon .rate-description').hide(); $(this).find('.rate-description').show(); $('.create- ไอคอนรีวิว i').removeClass('active'); $('.create-review-icon i').html('star_border'); $('.create-review-icon').each(ฟังก์ชัน ( ฉัน, elem) { ถ้า (i < parseInt(currentHoveredIcon)) { $(elem).find('i').addClass('active'); $(elem).find('i').html('star '); } });});$('.create-review-icon').on('mouseout', function () { $('.create-review-icon .rate-description').ซ่อน( ); $('.create-review-icon i').removeClass('active'); $('.create-review-icon i').html('star_border');});$('.create -review-icon').on('click', function () { createReview($(this).attr('review'));});// Register and Racefunction setupRegisterAndRace() { var showEarlyBird = เท็จ; การแข่งขัน var = activeEvt; var untilDate = ไม่ได้กำหนด; var ต่ำสุด = 100,000; var สูงสุด = 0; var วันนี้ = วันที่ใหม่ (); var saleEnds = วันที่ใหม่ (race.saleEndDateLocal); var daysUntilSaleEnd = Math.ceil((saleEnds.getTime() - today.getTime()) / 86400000); var saleEnding = วันจนกว่าการขายสิ้นสุด < 15; race.tickets.forEach(ฟังก์ชัน (p, i) { if (p.type === 1 || p.soldOut) return; if (p.untilDate !== undefined && untilDate === undefined) { untilDate = p .untilDate; } else if (p.untilDate !== untilDate) { showEarlyBird = true; } if (p.price < ต่ำสุด && p.price > 0) ต่ำสุด = p.price; if (p.price > สูงสุด) { สูงสุด = p.price; } }); ถ้า ( เท็จ) { $.get(window.WM_CONF.api + 'users/me').then(function (user) { loggedUser = user; if (loggedUser != null && loggedUser.bucketlistEventIds.indexOf(eventId) > - 1) { $("#saveToBucketlist").html('ที่ชื่นชอบ ' +"บันทึกไว้ใน Bucketlist" +'
'); }}); }ต่ำสุด = ต่ำสุด === 100,000 ? 0 : ต่ำสุด;var สกุลเงิน = null;var ต่ำสุดValueFormatted = showlowerPrice(ต่ำสุด, สูงสุด, สกุลเงิน);var maximumValueFormatted = converterPriceToSymbol (สูงสุด, สกุลเงิน);if ($(".register-and-race #price-range").length > 0) { ถ้า (สูงสุด != ต่ำสุด) { $(".register-and-race #price-range").html(lowestValueFormatted + ' - ' + maximumValueFormatted); } อื่น { $(".register-and-race #price-range").html(lowestValueFormatted); }}}ฟังก์ชัน showlowerPrice (ราคาที่ต่ำกว่า ราคาที่สูงขึ้น สกุลเงิน) { var maximumValueFormatted = lowerPrice.toFixed(); if (!higherPrice || (ราคาสูงกว่า == ราคาต่ำกว่า)) { maximumValueFormatted = converterPriceToSymbol(lowerPrice, currency) } คืนค่าlowestValueFormatted;}function addEventToFavorites() { var callback = function (รายการโปรด) { $("#saveToBucketlist").html( ที่ชื่นชอบ ? 'ที่ชื่นชอบ ' + "บันทึกไว้ใน Bucketlist" +'
' : 'Favorite_border ' + "เก็บไว้ดูภายหลัง" +'
'); } saveToBucketList(eventId, callback);};function goToTicketBox() { $('html, body').animate({ scrollTop: $('#tickets-section').offset().top - 50 }, 500, function () { });};function goToReviews() { $('html, body').animate({ scrollTop: $('#reviews-tab-section').offset().top - 150 }, 500 , function () { });};// ผลลัพธ์ล่าสุด - สำหรับการทำงานเสมือน goToResults() { window.location.href = window.WM_CONF.web + 'marathon/' + eventId + '/results';};function setUpRecentResults () { var raceId = "202209080803"; ถ้า (0 === 3 && raceId) { var defaultProfilePic = window.WM_CONF.blob + 'public/img/wm-square.jpg'; $.get(window.WM_CONF.api + 'search/recentresults?eventId=' + eventId + '&raceId=' + raceId + '&take=5').then(function (res) { ถ้า (res.Results && res. Results.length) { res.Results.forEach(createNewResultPage); } }); }}ฟังก์ชัน submitResults () { ถ้า (loggedUser != null) window.location.href = window.WM_CONF.web + 'me/orders'; อื่น { openLoginModal ('คุณต้องเข้าสู่ระบบเพื่อส่งผลลัพธ์', 'ฉัน / คำสั่งซื้อ'); }};ฟังก์ชั่น createNewResultPage(resultLine) { var tr = document.createElement("tr"); // รูปภาพ if (!isMobile) { var tdPic = document.createElement ("td"); $(tdPic).html('
'); $(tr).ต่อท้าย(tdPic); } // ชื่อ var tdName = document.createElement("td"); var nameWrapper = document.createElement("div"); $(nameWrapper).attr("สไตล์", "text-align:left;"); var nameLink = document.createElement("ก"); $(nameLink).addClass("link-block-text ขีดเส้นใต้"); $(nameLink).html((resultLine.Name ? resultLine.Name : '-') + ' ' + (resultLine.Nationality ? '(' + resultLine.Nationality + ')' : '')); var bibP = document.createElement("พี"); $(bibP).attr("style", "margin-bottom:0px;"); $(bibP).html('' + (resultLine.Bib != null ? 'Bib ' + resultLine.Bib + ' | ' : '') + ' ' + (resultLine.Gender != null ? resultLine.Gender : '') + ' ' + (resultLine .กลุ่มอายุ) + ' ') var clubP = document.createElement("p"); $(clubP).attr("style", "margin-bottom:0px;"); ถ้า (resultLine.club) { $(clubP.html('' + "CLUB_TEAM" + ' ' + resultLine.club); } $(nameWrapper).ต่อท้าย(nameLink).ต่อท้าย(bibP).ต่อท้าย(clubP); $(tdName).ต่อท้าย(nameWrapper); $(tr).ต่อท้าย(tdName); // ระยะทาง var tdDistance = document.createElement ("td"); $(tdDistance).html(resultLine.StrDistance); // ยืนยันเวลา var tdTime = document.createElement("td"); $(tdTime).addClass("ซ่อน-xs"); $(tdTime).attr("สไตล์", "ความกว้าง: 125px;"); ถ้า (resultLine.Verified) { var spanVerified = document.createElement ("span"); $(spanVerified).addClass("md-circle-icon-sm green"); $(spanVerified).html('ตรวจสอบ '); $(spanTimeMobile).attr("สไตล์", "padding-top:3px;"); $(spanVerified).attr("uib-popover", "ยืนยันผลแล้ว"); $(spanVerified).attr("popover-trigger", "'mouseenter'"); $(tdTime).append(spanVerified); } var spanTime = document.createElement("ช่วง"); $(spanTime).addClass("ลิงค์บล็อกข้อความขนาดใหญ่ดึงขวา"); $(spanTime).html(resultLine.FinishTime); $(tdTime).ต่อท้าย(spanTime); var tdTimeMobile = document.createElement("td"); $(tdTimeMobile).addClass("แสดง xs"); var tdTimeMobilDiv = document.createElement("div"); var tdTimeMobilInnerDiv = document.createElement("div"); $(tdTimeMobilDiv).attr("style", "display: flex; height: 100%; flex-direction: column; justify-content: center;"); $(tdTimeMobilInnerDiv).attr("สไตล์", "display:inline-block"); ถ้า (resultLine.Verified) { var spanVerified = document.createElement ("span"); $(spanVerified).addClass("md-circle-icon-sm green"); $(spanVerified).html('ตรวจสอบ '); $(spanVerified).attr("uib-popover", "ยืนยันผลแล้ว"); $(spanVerified).attr("popover-trigger", "'mouseenter'"); $(tdTimeMobilInnerDiv).append(spanVerified); } var tdSubmitted = document.createElement("td"); $(tdSubmitted).html('' + resultLine.SubmittedOn + ' '); var spanTimeMobile = document.createElement ("ช่วง"); $(spanTimeMobile).addClass("ลิงค์บล็อกข้อความขนาดใหญ่ดึงขวา"); $(spanTimeMobile).attr("สไตล์", "padding-top:1px;"); $(spanTimeMobile).html(resultLine.FinishTime); $(tdTimeMobilInnerDiv).ผนวก(spanTimeMobile); $(tdTimeMobilDiv).ผนวก(tdTimeMobilInnerDiv); $(tdTimeMobile).ต่อท้าย(tdTimeMobilDiv); $(tr).ต่อท้าย(tdDistance); $(tr).ต่อท้าย(tdTime); $(tr).ต่อท้าย(tdTimeMobile); $(tr).ต่อท้าย(tdSubmitted); $("#table-result-body").append(tr);};function setFinisherGallery() { var raceId = "202209080803"; ถ้า (raceId && marathonType === 3) { $.get(window.WM_CONF.api + 'search/recentresults?eventId=' + eventId + '&raceId=' + raceId + '&take=6&hasGalleryImage=true') .then( ฟังก์ชัน (ผลลัพธ์) { ถ้า (results.Results != null && Results.Results.length > 0) { ผลลัพธ์ผลลัพธ์สำหรับแต่ละรายการ (ฟังก์ชัน (ความละเอียด) { var galleryElement = document.createElement ('div'); var galleryElementResult = เอกสาร .createElement('div'); var galleryImage = document.createElement('div'); var nameDiv = document.createElement('div'); var detailsDiv = document.createElement('div'); var RunnerStatsDiv = document.createElement ('div'); $(galleryImage).addClass('gallery-image squared'); $(galleryImage).css('background-image', "url('" + res.GalleryImageUrl + "')"); $(nameDiv).html(''); $(detailsDiv).html('' + res.Gender + ' ' + res.AgeGroup + '
' + res.SubmittedSmallFormatOn + '
'); $(runnerStatsDiv).html('' + res.StrDistance + '
' + ระยะก้าว + '/กม
' + '' + (res.Verified ? '
ตรวจสอบ
' : '') + res.FinishTime + '
'); $(galleryElement).addClass('col-lg-4 col-xs-6'); $(galleryElementResult).addClass('finisher-gallery-result'); $(galleryElementResult).ต่อท้าย(galleryImage); $(galleryElementResult).ต่อท้าย(nameDiv); $(galleryElementResult).ต่อท้าย(detailsDiv); $(galleryElementResult).ต่อท้าย(runnerStatsDiv); $(galleryElement).html(''); $(galleryElement).find('.gallery-item-content').first().append(galleryElementResult); $("#finisher-gallery-wrapper").ต่อท้าย(galleryElement); }); $("#finisher-gallery-loader").hide(); } อื่น { $("#finisher-gallery").ซ่อน(); } }); };};// Charity Widgetfunction setUpCharityWidget() { if (displayCharityWidget) { // แถบการบริจาคที่เกี่ยวข้องกับ js var loaderBarDiv = $('.loader-bar'); var loaderBarWidth = $(".loader-background").width(); var currentDonationValue = parseInt(0); var finalDonationValue = parseInt(0); var currentProgressWidth = (currentDonationValue * loaderBarWidth) / FinalDonationValue; var ล่าช้าแอนิเมชั่น = 0.5; function counterAnimation(finalValue, elem) { setTimeout(function () { var counter = 0; var loop = 0; var numberOfLoops = 50; var animationDuration = 2; // ในอนาคตหากมีหลายสกุลเงิน เราต้องการสิ่งนี้ : var initialDonationFormatted = Html.Raw(JsonConvert.ToString(initialDonationValueFormatted)); var refreshRate = (animationDuration) * 20; var เพิ่มขึ้น = Math.floor(finalValue / numberOfLoops); var interval = setInterval(updateCount, refreshRate); function updateCount() { ตัวนับ += การเพิ่ม; loop++; elem.html('€' + ตัวนับ); if (loop > numberOfLoops) { elem.html('€' + finalValue); clearInterval(interval); } }; $(".loader-bar ").css('ระยะเวลาการเปลี่ยน', animationDuration + 's'); $(".loader-bar").css('width', currentProgressWidth + 'px'); $(".loader-bar-limit ").show(); $(".loader-bar-counter").show(); }, delayAnimation * 1000); } var บริจาคBarAnimationOver = เท็จ; var loaderBarDiv = $('.loader-bar'); ถ้า (loaderBarDiv.length > 0) { ฟังก์ชัน animateDonationBar() { บริจาค BarAnimationOver = จริง; counterAnimation(currentDonationValue, $(".loader-bar-counter")); } การบริจาคฟังก์ชันBarInViewport() { ส่งคืน window.pageYOffset < loaderOffSetTop && window.pageYOffset + window.innerHeight > loaderOffSetTop; } var loaderOffSetTop = loaderBarDiv.offset().top; // หากวิดเจ็ตการกุศลอยู่ในวิวพอร์ตให้เริ่มแอนิเมชั่น มิฉะนั้นจะทริกเกอร์เมื่อเลื่อนเพื่อให้แน่ใจว่าผู้ใช้เห็นหาก (donationBarInViewport()) { animateDonationBar(); } อื่น { window.addEventListener('scroll', function () { if (!donationBarAnimationOver &&donationBarInViewport()) { animateDonationBar(); } }); } } }}// อัปเดตฟังก์ชันเหตุการณ์ที่ดูล่าสุด setUpLastViewed() { ถ้า (eventId === undefined) ส่งคืน; var lastViewed = []; var lastViewedStr = localStorage.getItem('เหตุการณ์ที่ดูล่าสุด'); ถ้า (lastViewedStr !== null) { lastViewed = JSON.parse(lastViewedStr); ถ้า (lastViewed.length === maxLastViewedStorage && lastViewed.indexOf(eventId) === -1) { lastViewed.shift(); } } ถ้า (lastViewed.indexOf(eventId) === -1) lastViewed.push(eventId); localStorage.setItem('last-viewed-events', JSON.stringify(lastViewed));}$(document).ready(function () { var leafletLink = document.createElement('link'); leafletLink.rel = "สไตล์ชีต "; leafletLink.href = "https://unpkg.com/leaflet@1.3.3/dist/leaflet.css"; leafletLink.integrity = "sha512-Rksm5RenBEKSKFjgI3a41vrjkw4EVPlJ3+OiI65vTjIdo9brlAacEuKOiQ5OFh7cOI1bkDwLqdLw3Z g0cRJAAQ=="; leafletLink.crossOrigin = "ไม่ระบุชื่อ"; var mapUtilsScript = document.createElement('script'); mapUtilsScript.src = "web/js/maputils.339a248b8f56305d.js"; var leafletScript = document.createElement('script'); leafletScript.src = "https://unpkg .com/leaflet@1.3.3/dist/leaflet.js"; leafletScript.crossOrigin = "ไม่ระบุตัวตน"; leafletScript.integrity = "sha512-tAGcCfR4Sc5ZP5ZoVz0quoZDYX5aCtEm/eu1KhSLj2c9eFrylXZknQYmxUssFaVJKvvc0dJQixhGj G2yXWiV9Q=="; var mapLoaded = false; initCarousel(); setUpTabs() ; setUpTopBar(); setUpAboutText(); setUpCourseDetailsText() setUpIncludedInTheFeeSection(); setUpSiteNavigation(); setDistancesDescriptions(); setUpReviews(); setUpRecentResults(); setupRegisterAndRace(); setFinisherGallery(); setUpCharityWidget(); setUpLastViewed(); setUpInYourEntryList(); $.getScript("web/js/maputils.339a248b8f56305d.js", ฟังก์ชัน () { mapUtilsLoaded = true; ticketBoxFunctionality(); }); $(document).on( 'keydown', function (event) { if (event.key == "Escape") { $("#modal-backdrop").click(); dropsImages(); } }); $("#modal-backdrop").on('click', function (evt) { evt.stopPropagation(); closeLoginModal(); $("#forgot-password-modal").hide(); $(" .ticket-modal").hide(); $("#notify-me-modal").hide(); $(".package-deal-modal").hide(); $('#included-in -the-entry-modal').hide(); $drawer.removeClass('open'); $header.removeClass('open'); $("body").css('overflow-y', 'auto '); $(นี้).ซ่อน(); }); var $ticketSection = $("#ticket-section"); $(document).on('click', '.view_tickets_button', function () { $('html, body').animate({ scrollTop: $ticketSection.offset().top - 70 }, 500); } ); $('[data-toggle="datepicker"]').datepicker({ รูปแบบ: 'dd-mm-yyyy', วันแรก: 1 }); var การเขียนหมดเวลา; $("#search-text").on("keyup", function (evt) { if (writingTimeout != null) clearTimeout(writingTimeout); writingTimeout = setTimeout(getSuggestions(evt.target.value), 200); } ); window.addEventListener('scroll', function () { slickSlidersYoffset = Math.max($(".slick-slider-anchor").offset().top - 600, 800); // ติดแถบถ้า (window.pageYOffset > 750 && !isMobile) { $(".sticky-header").addClass('fixed'); } else { $(".sticky-header").removeClass('fixed'); } // ส่วนหัวติดหนึบ ถ้า (window.innerWidth > 1100) { ถ้า (window.pageYOffset <= 750) { ถ้า ($(".register-and-race").hasClass('fixed')) $(".register-and-race") .removeClass('fixed'); } else if (window.pageYOffset > 750 && window.pageYOffset < slickSlidersYoffset) { if (!$(".register-and-race").hasClass('fixed')) $(" .register-and-race").addClass('fixed'); $(".register-and-race").removeClass('absolute'); $(".register-and-race").css(' บน', '87px'); } อื่น { $(".register-and-race").removeClass('fixed'); $(".register-and-race").addClass('absolute'); $ (".register-and-race").css('top', (slickSlidersYoffset - $(".register-and-race").innerHeight()) + 'px'); } } if (!enableScroll) return ; // โหลดสคริปต์ maputils ถ้า (window.pageYOffset > 500 && !mapLoaded && mapUtilsLoaded) { document.head.append(leafletLink); document.head.append(mapUtilsScript); document.head.append(leafletScript); leafletScript.addEventListener('load', function () { ถ้า (setUpMap != undefined) setUpMap(); }); mapLoaded = จริง; } // โหลดสคริปต์ตัวเลื่อนที่ลื่นไหล if (!isMobile) { if (window.pageYOffset > 700 && !slickSliderLoaded) { document.head.append(slickSliderScript); slickSliderScript.addEventListener ('โหลด', ฟังก์ชัน () { setUpSlickSlider (); }); slickSliderLoaded = จริง; } } // รูปภาพส่วนท้ายโหลดขี้เกียจถ้า (window.pageYOffset > 700) { $("#footer-section .card-options img").each(function (i, elem) { $(elem).attr('src ', $(elem).attr('srcref')); }); } ลิงค์ var; // เน้นแท็บการนำทางปัจจุบัน $(navigationTabs).each(function (i, e) { $(e).removeClass('selected'); var $tab = $($(e).attr('href') + '-tab-section'); if (!$tab.length) return; var off = $tab.offset().top; if ($(window).scrollTop() > off - 120) { ลิงค์ = e; } if (ลิงค์) { $('.selected').removeClass('selected'); $(link).addClass('selected'); } else if ($(navigationTabs).eq(0) !== undefined ) { $(navigationTabs).eq(0).addClass('selected'); } }); });}); ").attr("value", elem.value).html(elem.label)); }); $.each(รองรับสกุลเงิน, ฟังก์ชัน (ดัชนี, elem) { $("#currency-picker").append( $("
").attr("value", elem).text(elem)); }); $.each(supportedMeasures, function (index, elem) { $("#measure-picker").append($("
").attr("value", index.toString()).text(elem)); }); $("#language-picker").val(currentLanguage); $('#language-picker'). select2(selectOptions); $("#currency-picker").val(currentCurrency); $('#currency-picker').select2(selectOptions); $("#measure-picker").val(currentMeasure); $('#measure-picker').select2(selectOptions); $("#language-picker").on("change", function () { var val = $(นี้).val(); if (currentLanguage == val) return; currentLanguage = val; var exp = new Date(); exp.setDate(exp.getDate() + 300); var pass_exp = new Date(); pass_exp.setDate(exp.getDate() - 1 ); Cookies.set('locale', null, {หมดอายุ: pass_exp}); Cookies.set('locale', val, { ปลอดภัย: จริง, หมดอายุ: exp, โดเมน: 'worldsmarathons.com' }); สถานที่ href = '/locale/' + currentLanguage; }); $("#currency-picker").on("change", function () { var val = $(this.val(); if (currentCurrency == val) return; currentCurrency = val; var exp = new Date(); exp.setDate(exp.getDate() + 300); var pass_exp = new Date(); pass_exp.setDate(passed_exp.getDate() - 1); localStorage.removeItem ('กิจกรรมใกล้ฉัน'); Cookies.set('currency', null, { หมดอายุ: pass_exp}); Cookies.set('currency', val, { ปลอดภัย: จริง, หมดอายุ: exp, โดเมน: 'worldsmarathons.com' }); Location.reload(); }); $("#measure-picker").on("change", function () { var val = $(this).val(); if (currentMeasure == val) return; currentMeasure = val; var exp = วันที่ใหม่ (); exp.setDate(exp.getDate() + 300); Cookies.set('measure', val, { ปลอดภัย: จริง, หมดอายุ: exp }); location.reload(); }); $("#newsletter-terms").on("change", function () { Terms = this.checked; $("#newsletter-submit").prop("disabled", false); }); $("#newsletter-submit").on("click", function () { email = $("#email-newsletter").val(); if (window.WM_CONF.env === 'สด' && window.appInsights) { window.appInsights.trackEvent("newsletter:runner:click", undefined); } อื่น { console.log("newsletter:runner:click"); } สมัครสมาชิก = !subscribeing; var data = { อีเมล: อีเมล เงื่อนไข: Terms }; $.post(window.WM_CONF.api + 'users/signupforgeneralnewsletter', data) .done(function (res) { $("#newsletter-subscribe-form").hide(); if (res.alreadySubscribed) { $("#already-subscribed-text").show(); } else { $("#subscribed-text").show(); } $("#error-subscribed"). ซ่อน (); }) .fail (ฟังก์ชัน (ข้อผิดพลาด) { $("#error-subscribed").html(err.responseJSON.message); $("#error-subscribed").show(); }); });}$(เอกสาร).พร้อม(ฟังก์ชั่น () { setUpFooter();});