javascript Issue353:20180220 - no65。予约ボタン追従枠の変更
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript Issue353:20180220 - no65。予约ボタン追従枠の変更相关的知识,希望对你有一定的参考价值。
// 20180220 - no65.予約ボタン追従枠の変更
// https://gnavi-work.gnavi.co.jp/jira/browse/MIKAMEI_PDCA-376
(function($, util) {
// TODO: 以下 frontendでのパターン確認用。レビュー後に削除してから納品
if (location.href.match(/ab_no_tel/)) {
// 追従の電話ボタンをトリ
$('.ic-tel-sticky').parent().parent().remove();
$('#js-reserve-btn .ic-net-yoyaku').parent().parent().removeClass().addClass('col__12');
}
// TODO
window.issue353 = {
$reserveBtn: $('#js-reserve-btn'),
$telBtn : $('.ic-tel-sticky'),
start: function(pattern) {
if (!this.$reserveBtn.length) return;
this.$reserveBtn.addClass('issue353');
this.changeLabelTel();
this.changeLabelReserve('ネット予約');
switch (pattern) {
case 1:
this.removeBtn();
break;
case 2:
this.changeLabelReserve('空席確認・ネット予約');
break;
case 3:
this.addPlanCalBtn();
break;
case 4:
$('#js-reserve-btn').addClass('issue353-4');
this.addPlanCalBtn();
this.changeDesign();
break;
default:
break;
}
},
removeBtn: function() {
$('#js-reserve-btn').remove();
// ページ最下部の余白削除
$('body').css('padding-bottom', 0);
},
changeLabelTel: function() {
// 電話する -> 電話
$('.issue353 .ic-tel-sticky span').text('電話');
},
changeLabelReserve: function(label) {
// ネット予約する -> ネット予約
$('.issue353 .ic-net-yoyaku span').text(label);
},
addPlanCalBtn: function() {
var $planCalBtn =
'<div class="col__3 -pl8">' +
'<a href="" class="button__item button__item--default js-popover-button" onclick="sc_count(\'plan_list_03\')">' +
'<div class="ic-plan-cal">' +
'<div>' +
'<p class="text--small -bold">' +
'<span>空席確認</span>' +
'</p>' +
'</div>' +
'</div>' +
'</a>' +
'</div>'
;
var $yoyakuBtnWrapper = $('.issue353 .ic-net-yoyaku').parent().parent();
if (this.$telBtn.length) {
$yoyakuBtnWrapper.removeClass('col__9').addClass('col__6');
$yoyakuBtnWrapper.before($planCalBtn);
} else {
$yoyakuBtnWrapper.removeClass('col__12').addClass('col__9 -pl8');
$yoyakuBtnWrapper.before($planCalBtn);
$('.issue353 .ic-plan-cal').parent().parent().removeClass('-pl8');
}
// 空席確認ボタンのイベントをアタッチ
this.popover();
},
popover: function() {
// 以下 /src/alljs/popover.js より
var popover_calender = new GNAVI.Dialog.Popover({
button: '.js-popover-button',
targetId: '#popover_calendar'
});
},
changeDesign: function() {
var $issue353 = $('.issue353');
// カラムを初期化
$issue353.children().removeClass();
if (this.$telBtn.length) {
$issue353.children().addClass('col__4');
} else {
$issue353.find('.ic-plan-cal').parent().parent().addClass('col__4');
$issue353.find('.ic-net-yoyaku').parent().parent().addClass('col__8');
}
}
}
// localhost, frontendの実行パラメータ: ?ab_issue=353&ab_pattern=1
// Optimizelyの実行コード : window.issue353.start(1);
// localhost, frontendのみ発火
util.abtestRun(353);
})(jQuery, util);
以上是关于javascript Issue353:20180220 - no65。予约ボタン追従枠の変更的主要内容,如果未能解决你的问题,请参考以下文章
手撕前端面试题JavaScript
手撕前端面试题(Javascript~事件委托数组去重合法的URL快速排序js中哪些操作会造成内存泄漏......
手撕前端面试题javascript~ 总成绩排名子字符串频次统计继承判断斐波那契数组等
无法解析的日期:“20180 ......” Json 日期到 java
前端面试宝典~Symbol相同的SetGetter控制动画js中哪些操作会造成内存泄漏?等......
javascript Issue84 - 20190620电话导线改善