简单的Javascript点击问题
Simple Javascript onclick issue
我正在尝试将onclick方法添加到链接中。
我想在用户单击链接 A 时制作 a++,当用户单击链接 B 时制作 a-- 无论值是什么a
。
我的代码:
.JS
var a=0;
function swapPost(a){
//I want to make a++ when user click linkA;
//a-- when user click linkB
//not sure how to do this
if(a>10){
a=0;
}
if(a<0){
a=0;
}
}
swapPost(a);
目录
<a href="#" onclick="swapPost(a)">LinkA</a>
<a href="#" onclick="swapPost(a)">LinkB</a>
我想知道是否有人可以帮助我解决这个问题。多谢。
与其将
a
作为参数传入,不如通过其 id(尚未定义)传入单击的链接。 将this
传递到函数中。
<a id='linka' href="#" onclick='swapPost(this)'>LinkA</a>
<a id='linkb' href="#" onclick='swapPost(this)'>LinkB</a>
var a=0;
function swapPost(nodeClicked){
// Check the id of the node passed to the function.
if (nodeClicked.id == 'linka') {
a++;
}
else if (nodeClicked.id == 'linkb') {
a--;
}
else return;
// Set to zero if outside your bounds
if(a>10){
a=0;
}
if(a<0){
a=0;
}
}
这是在行动,登录到控制台...
通常,更好的做法是将函数绑定到事件,而不是将它们内联编码到属性中。 由于onclick
内的this
是指单击的节点,因此实际上不需要将其作为参数传入。然后,您可以绑定 onclick 事件而不进行内联操作,并在内部调用this
。
<a id='linka' href="#">LinkA</a>
<a id='linkb' href="#">LinkB</a>
var a=0;
var swapPost = function(){
// Check the id of the node passed to the function.
if (this.id == 'linka') {
a++;
}
else if (this.id == 'linkb') {
a--;
}
else return;
// Set to zero if outside your bounds
if(a>10){
a=0;
}
if(a<0){
a=0;
}
}
// Bind the function to the links
document.getElementById('linka').onclick = swapPost;
document.getElementById('linkb').onclick = swapPost;
这是正在运行的更新版本
<a href="#" id="a">LinkA</a>
<a href="#" id="b">LinkB</a>
.JS
<script type="text/javascript">
window.onload=function(){
var a=0;
var els=document.getElementsByTagName('a');
for(i=0;i<els.length;i++)
{
(function(i){
els[i].onclick=function(){
if(this.id=='a') a++;
else a--;
a = a < 0 ? 0 : (a > 10 ? 0 : a);
return false;
}
})(i);
}
}
</script>
演示。
试试这个: Javascript:
var a=0;
function swapPost(val){
a=a+val;
}
.HTML:
<a href="#" onclick='javascript:return swapPost(1);'>LinkA</a>
<a href="#" onclick='javascript:return swapPost(-1);'>LinkB</a>
相关文章:
- 我不知道我的编码有什么问题.(JavaScript)
- 登录后重定向,缓存页面问题-Javascript
- 在我的网站上创建一个在1-10之间不断变化的数字时遇到了问题.Javascript
- 浮点数字问题JavaScript
- 局部全局变量问题 - JavaScript
- 内容滑块问题 javascript
- 多个脚本导致链接问题?Javascript、CSS、HTML、Jquery
- 基本范围问题(javascript和node)
- 表单验证问题(Javascript)
- 表杂乱无章的问题.Javascript HTML5.
- 我的代码有什么问题.JavaScript幻灯片
- 这段代码有什么问题?(JavaScript)
- 浏览器和移动设备的视差背景问题(javascript/jquery)
- Mozilla中的setInterval()问题(Javascript函数)
- While循环问题-JavaScript-jQuery.Clone()
- 检查密码匹配问题(JavaScript)
- 抓取选中单选按钮的问题- JavaScript
- 基于下拉选择禁用文本字段的问题(JavaScript)
- 比较日期问题- javascript
- 浏览器兼容性问题Javascript