我一直在使用下面的代码,但它并没有像我预期的那样运行。当我点击下一个按钮时,它会计数,点击后退按钮会倒计时。
但是然后再次单击下一步会跳过两步。我正在考虑让这个页面更简单,但我的理智只是想知道这里发生了什么。
HTML:
<div id="one" class="tab">
<h1>One</h1>
<button id="one-back">Back</button>
<button id="one-next">Next</button>
</div>
<div id="two" class="tab">
<h1>Two</h1>
<button id="two-back">Back</button>
<button id="two-next">Next</button>
</div>
<div id="three" class="tab">
<h1>Three</h1>
<button id="three-back">Back</button>
<button id="three-next">Next</button>
</div>
<div id="four" class="tab">
<h1>Four</h1>
<button id="four-back">Back</button>
<button id="four-next">Next</button>
</div>
Javascript:
var checkout = {
current: 0,
init: function () {
this.render();
},
tab: [{
id: 'one'
}, {
id: 'two'
}, {
id: 'three'
}, {
id: 'four'
}],
render: function () {
var self = this;
$('#' + self.tab[self.current].id).show();
$('#' + self.tab[self.current].id + '-back').on('click', function () {
$('#' + self.tab[self.current].id).hide();
if (self.current > 0) {
self.current = self.current - 1;
}
self.render();
});
$('#' + self.tab[self.current].id + '-next').on('click', function () {
$('#' + self.tab[self.current].id).hide();
if (self.current <= 4) {
self.current = self.current + 1;
}
self.render();
});
}
};
$(document).ready(function () {
checkout.init();
});
JSF中: