我正在构建一个带2个按钮的滑块,以使数字变得更高/更低。这里的jsfiddle.jQuery-为什么赋值给全局变量不起作用?
这工作:
var update_num;
$('.plus').on('click', function() {
update_num = $('output').text()*1;
if (update_num < 100) {
$('output').text(update_num + 1);
} else {
$('output').text(100);
}
});
$('.minus').on('click', function() {
update_num = $('output').text()*1;
if (update_num > 0) {
$('output').text(update_num - 1);
} else {
$('output').text(0);
}
});
但是,这并不工作:
var update_num = $('output').text()*1;
$('.plus').on('click', function() {
if (update_num < 100) {
$('output').text(update_num + 1);
} else {
$('output').text(100);
}
});
$('.minus').on('click', function() {
if (update_num > 0) {
$('output').text(update_num - 1);
} else {
$('output').text(0);
}
});
为什么会这样,因为VAR update_num是全球性的,所有其它功能应该能够阅读它?什么应该是使这个代码干爽的最佳方式?
当你的全局变量update_num运行时,$('output')是否存在?如果是这样,update_num永远不会在你的回调中更新。 –