196 lines
6.5 KiB
JavaScript
196 lines
6.5 KiB
JavaScript
/* ハンバーガーメニュー開閉
|
||
============================*/
|
||
$(function () {
|
||
//ナビメニューボタンの開く・閉じる
|
||
$('#nav-menu-btn').on('click', function () {
|
||
$('#nav-menu-btn span').toggleClass('typcn-th-menu');
|
||
$('#nav-menu-btn span').toggleClass('typcn-times');
|
||
});
|
||
|
||
//ナビメニューボタンの「開く・閉じる」文字変更
|
||
var flg = "default";
|
||
$('#my-menu-btn').click(function () {
|
||
if (flg == "default") {
|
||
$(this).text("マイメニューを閉じる");
|
||
flg = "changed";
|
||
} else {
|
||
$(this).text("マイメニューを開く");
|
||
flg = "default";
|
||
}
|
||
});
|
||
});
|
||
|
||
/* slick slider
|
||
============================*/
|
||
$(function () {
|
||
$('.slider_1-1').slick({
|
||
infinite: true,
|
||
dots: true,
|
||
arrows: true,
|
||
slidesToShow: 1,
|
||
slidesToScroll: 1,
|
||
responsive: [{
|
||
breakpoint: 992,
|
||
settings: {
|
||
slidesToShow: 1,
|
||
slidesToScroll: 1,
|
||
}
|
||
}]
|
||
});
|
||
$('.slider_2-1').slick({
|
||
infinite: true,
|
||
dots: true,
|
||
arrows: true,
|
||
slidesToShow: 2,
|
||
slidesToScroll: 2,
|
||
responsive: [{
|
||
breakpoint: 992,
|
||
settings: {
|
||
slidesToShow: 1,
|
||
slidesToScroll: 1,
|
||
}
|
||
}]
|
||
});
|
||
$('.info-slider_1-1').slick({
|
||
infinite: true,
|
||
dots: false,
|
||
arrows: true,
|
||
slidesToShow: 1,
|
||
slidesToScroll: 1,
|
||
responsive: [{
|
||
breakpoint: 992,
|
||
settings: {
|
||
slidesToShow: 1,
|
||
slidesToScroll: 1,
|
||
}
|
||
}]
|
||
});
|
||
});
|
||
|
||
/* jquery.tablesorter(空き駐輪場検索)
|
||
============================*/
|
||
$(document).ready(function () {
|
||
$("#searchTable").tablesorter({
|
||
sortList: [[0, 0]]
|
||
});
|
||
}
|
||
);
|
||
|
||
|
||
/* 文字の拡大・縮小
|
||
============================*/
|
||
$(function () {
|
||
//文字サイズ・大きく
|
||
$('#scale-control-area .btn-success').on('click', function () {
|
||
$(this).toggleClass('d-none');
|
||
$('#scale-control-area .btn-submit').toggleClass('d-none');
|
||
$('#scale-control-area .btn-secondary').addClass('d-none');
|
||
$('#scale-control-area .btn-cancel').removeClass('d-none');
|
||
$('#font-scale').addClass('f-big');
|
||
$('#font-scale').removeClass('f-bigger');
|
||
$('#font-scale').removeClass('f-small');
|
||
});
|
||
//文字サイズ・さらに大きく
|
||
$('#scale-control-area .btn-submit').on('click', function () {
|
||
$('#scale-control-area .btn-success').toggleClass('d-none');
|
||
$('#font-scale').addClass('f-bigger');
|
||
$('#font-scale').removeClass('f-big');
|
||
$('#font-scale').removeClass('f-small');
|
||
});
|
||
//文字サイズ・小さく
|
||
$('#scale-control-area .btn-secondary').on('click', function () {
|
||
$(this).toggleClass('d-none');
|
||
$('#scale-control-area .btn-cancel').toggleClass('d-none');
|
||
$('#font-scale').addClass('f-small');
|
||
$('#font-scale').removeClass('f-bigger');
|
||
$('#font-scale').removeClass('f-big');
|
||
});
|
||
//文字サイズ・元のサイズへ
|
||
$('#scale-control-area .btn-cancel').on('click', function () {
|
||
$('#scale-control-area .btn-secondary').toggleClass('d-none');
|
||
$('#font-scale').removeClass('f-bigger');
|
||
$('#font-scale').removeClass('f-big');
|
||
$('#font-scale').removeClass('f-small');
|
||
});
|
||
});
|
||
|
||
// 駐輪場詳細ポップアップ
|
||
$(document).on('click', '.btn-popup', function () {
|
||
var parkId = $(this).data('park-id');
|
||
$.ajax({
|
||
url: '/api/park-detail/' + parkId,
|
||
method: 'GET',
|
||
success: function (data) {
|
||
$('#modalArea').html(data.html); // モーダル全体を挿入
|
||
$('#parkDetailModal').modal('show'); // モーダルを表示
|
||
},
|
||
error: function () {
|
||
alert('詳細情報の取得に失敗しました');
|
||
}
|
||
});
|
||
});
|
||
|
||
$(document).on('click', '.btn-reserve-popup', function () {
|
||
var reserveId = $(this).data('reserve-id');
|
||
$.ajax({
|
||
url: '/api/park-detail-wait/' + reserveId,
|
||
method: 'GET',
|
||
success: function (data) {
|
||
$('#modalArea').html(data.html); // モーダル全体を挿入
|
||
$('#parkDetailWaitModal').modal('show'); // モーダルを表示
|
||
},
|
||
error: function () {
|
||
alert('詳細情報の取得に失敗しました');
|
||
}
|
||
});
|
||
});
|
||
|
||
$(document).on('click', '.btn-reserve', function (e) {
|
||
e.preventDefault();
|
||
var parkId = $(this).data('park-id');
|
||
var psectionId = $(this).data('psection-id');
|
||
var ptypeId = $(this).data('ptype-id');
|
||
|
||
$.confirm({
|
||
title: '確認',
|
||
content: 'こちらの駐輪場を予約しますか?<br>お申込みいただく各自治体の条例等によって、駐輪場までの距離制限等によりご契約いただけない場合がございます。<br>予めご了承くださいますようお願いいたします。',
|
||
buttons: {
|
||
OK: function () {
|
||
// Ajaxで予約済みかチェック
|
||
$.get('/park-waitlist/check', {
|
||
park_id: parkId,
|
||
psection_id: psectionId,
|
||
ptype_id: ptypeId
|
||
}, function (response) {
|
||
if (response.status === 'exists') {
|
||
$.alert('こちらの駐輪場は予約済みです。');
|
||
} else {
|
||
// 予約画面へ遷移
|
||
location.href = '/park-waitlist/create?park_id=' + parkId + '&psection_id=' + psectionId + '&ptype_id=' + ptypeId;
|
||
}
|
||
});
|
||
},
|
||
キャンセル: function () { }
|
||
}
|
||
});
|
||
});
|
||
|
||
$(document).on('click', '.btn-contract', function (e) {
|
||
e.preventDefault();
|
||
var parkId = $(this).data('park-id');
|
||
var psectionId = $(this).data('psection-id');
|
||
var ptypeId = $(this).data('ptype-id');
|
||
|
||
$.confirm({
|
||
title: '確認',
|
||
content: 'こちらの駐輪場で定期契約を申し込みますか?',
|
||
buttons: {
|
||
OK: function () {
|
||
// GETパラメータでregulationCheckメソッドに遷移
|
||
location.href = '/regular-contract/regulationCheck?park_id=' + parkId + '&psection_id=' + psectionId + '&ptype_id=' + ptypeId;
|
||
},
|
||
キャンセル: function () { }
|
||
}
|
||
});
|
||
});
|