如何解决上/下点击计数器
| 听起来很简单,我很难管理它。 简而言之,如果在按下Shift键的同时单击ID为“ Counter \”的元素,则Total包裹的int应该会上升。如果在单击时按住alt,则它会下降。$(\'#Counter\').click(function(x) {
if(x.altKey) {
$(\'#Counter\').html(parseInt($(\'#Total\').html())-1);
}
if (x.shiftKey) {
$(\'#Counter\').html(parseInt($(\'#Total\').html())+1);
}
});
///////////
<div id=\"Counter\"><span id=\"Total\">100</span></div>
解决方法
我可以看到您的问题,您想将
<span id=\"Total\">100</span>
解析为一个数字。你做不到同样,您将#counter
的html设置为一个数字,因此您松开了#Total
。
您想要的是:
$(\'#Counter\').click(function(x) {
if(x.altKey) {
$(\'#Counter\').html(parseInt($(\'#Counter\').html())-1);
}
if (x.shiftKey) {
$(\'#Counter\').html(parseInt($(\'#Counter\').html())+1);
}
});
<div id=\"Counter\">100</div>
,您正在覆盖span标记,这就是为什么它仅在第一次单击时起作用的原因,之后没有id为Total的span标记
尝试:
$(\'#Counter\').click(function (x) {
if (x.altKey) {
$(\'#Counter\').html(\'<span id=\"Total\">\' + (parseInt($(\'#Total\').html()) - 1) + \'</span>\');
}
if (x.shiftKey) {
$(\'#Counter\').html(\'<span id=\"Total\">\' + (parseInt($(\'#Total\').html()) + 1) + \'</span>\');
}
});
甚至更简洁:
$(\'#Counter\').click(function (x) {
if (x.altKey) {
$(\'#Total\').html((parseInt($(\'#Total\').html()) - 1));
}
if (x.shiftKey) {
$(\'#Total\').html((parseInt($(\'#Total\').html()) + 1));
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。