我正在尝试在单击下一个按钮时向变量添加1,这将显示隐藏的上一个按钮,但我似乎无法使添加1部分工作。我已将代码和链接粘贴到下面的jsfiddle:
http://jsfiddle.net/huddds/JesBR/1/
HTML
<a href="#" class="prevButton">PREVIOUS</a>
<a href="#" class="nextButton">NEXT</a>
的Javascript
nextClicked = 0;
currentNextClicked = nextClicked;
$(document).ready(function() {
$('a.nextButton').live('click', function(){
nextClicked = currentNextClicked + 1;
return false;
});
if(nextClicked == 0){
$('a.prevButton').hide();
}
if(nextClicked == 1){
$('.prevButtonFalse').hide();
$('.prevButton').show();
}
if(nextClicked == 2){
}
if(nextClicked == 3){
}
if(nextClicked == 4){
}
});
CSS
.nextButtonFalse{display:none;}
.prevButtonFalse{display:none;}
任何帮助都会很棒,提前感谢任何回复。
我决定选择这个选项:
HTML
<div>Total : <span id="total">0</span></div>
<input class="subtract" data-amount="1" type="button" value="PREVIOUS" />
<input class="add" data-amount="1" type="button" value="NEXT" />
的jQuery
$(document).ready(function() {
$('.add').click(function() {
$('#total').text(parseInt($('#total').text()) + parseInt($(this).data('amount')));
});
})
$(document).ready(function() {
$('.subtract').click(function() {
$('#total').text(parseInt($('#total').text()) - parseInt($(this).data('amount')));
});
})
答案 0 :(得分:2)
您只检查文档加载时nextClicked
的值。将它放在live
点击处理程序上。您还需要更新currentNextClicked
的值。也许将currentNextClicked = nextClicked;
移动到点击处理程序中是你想要的吗?
$(document).ready(function() {
$('a.nextButton').live('click', function(){
currentNextClicked = nextClicked;
nextClicked = currentNextClicked + 1;
foo();
return false;
});
foo();
});
function foo(){
if(nextClicked == 0){
$('a.prevButton').hide();
}
if(nextClicked == 1){
$('.prevButtonFalse').hide();
$('.prevButton').show();
}
if(nextClicked == 2){
}
if(nextClicked == 3){
}
if(nextClicked == 4){
}
}
答案 1 :(得分:0)
您将nextClicked
和currentNextClicked
初始化为0
,然后在click
事件处理程序中执行此操作:
nextClicked = currentNextClicked + 1;
这会将nextClicked
设置为1,因为0 + 1 = 1.但是,您永远不会更改currentNextClicked
的值,因此下次您点击它时仍然会设置{{ 1}}到0 + 1的结果。
答案 2 :(得分:0)
正如@Anthony所说,当你nextClicked = currentNextClicked + 1;
时,你总是得到1。
此外,您需要在每次点击后进行以下if
检查,并且您可以隐藏a.prevButton
加载,因为nextClicked
值最初始终设置为0
}。
试试这个:
http://jsfiddle.net/nienn/JesBR/18/
nextClicked = 0;
function onClickCheck(){
if(nextClicked == 0){
$('a.prevButton').hide();
}
if(nextClicked == 1){
$('.prevButtonFalse').hide();
$('.prevButton').show();
}
if(nextClicked == 2){
}
if(nextClicked == 3){
}
if(nextClicked == 4){
}
}
$(document).ready(function() {
$('a.prevButton').hide();
$('a.nextButton').live('click', function(e){
nextClicked += 1;
onClickCheck ();
e.preventDefault();
});
});