在javascript中使用if语句

时间:2013-11-13 16:56:51

标签: javascript html

我有两个增加同一个变量的函数。 其中一个都有自己的html按钮来运行onClick。

function click1() {
    clicks += 1;
    document.getElementById('click-count').innerHTML=clicks;
}
function click2() {
    clicks += 1;
    document.getElementById('click-count').innerHTML=clicks;
}

和内部函数click1()我有if语句,当click = 5

时添加新的文本行
if (clicks==5) {
var log = document.createElement("p");
log.innerHTML = 'clicks 5';
document.getElementById('clicks-log').appendChild(log);
}

但是当我通过click2()函数进行5次单击时,if语句不起作用,如果我将if语句放在任何函数之外,它根本不起作用。有没有办法处理所有函数的var点击以使if语句有效?

3 个答案:

答案 0 :(得分:1)

您可以将if语句放在两个函数中,或者在click1和click2调用的其他函数中进行控制:

var clicks = 0;

function click1() {
    clicks += 1;
    document.getElementById('click-count').innerHTML=clicks;
    checkClicksNumber();
}
function click2() {
    clicks += 1;
    document.getElementById('click-count').innerHTML=clicks;
    checkClicksNumber();
}

function checkClicksNumber(){
    if (clicks==5) {
        var log = document.createElement("p");
        log.innerHTML = 'clicks 5';
        document.getElementById('clicks-log').appendChild(log);
    }
}

答案 1 :(得分:1)

点击应该是一个全局变量,位于你所有的功能之外。

var clicks = 0;

function click1() {
    clicks += 1;
    document.getElementById('click-count').innerHTML=clicks;
}

function click2() {
    clicks += 1;
    document.getElementById('click-count').innerHTML=clicks;
}

//Some function that uses 'clicks'
function readClicks(){
    if (clicks==5) {
        var log = document.createElement("p");
        log.innerHTML = 'clicks 5';
        document.getElementById('clicks-log').appendChild(log);
    }
}

试试这个。

答案 2 :(得分:1)

假设您正在定义元素的onclick属性,您可以这样做:

<button onclick="click1();docheck();">first button</button>

<button onclick="click2();docheck();">second button</button>

定义函数:

function docheck() {
  if (clicks == 5) {
    var log = document.createElement("p");
    log.innerHTML = 'clicks 5';
    document.getElementById('clicks-log').appendChild(log);
  }
}