如何更改具有递增值的HTML元素?

时间:2019-04-17 11:17:10

标签: javascript html

当我进入页面时,我有0个cookie开头。我做了一个if语句,说如果cookie少于10个,请隐藏升级按钮。我单击该值并将其增加1。一旦获得10个Cookie,如何显示升级按钮?是事件监听器还是什么?

var cookies = 0;
var cookieClick = 1;

function getCookie() {
    cookies += cookieClick;
    document.getElementById('cookieCount').innerHTML = cookies;
    document.getElementById('img').style.visibility = 'visible';
}

if (cookies < 10) {
    document.getElementById('up').style.visibility = 'hidden';
}

function upgrade() {
    cookieClick *= 2;
    document.getElementById('up').style.visibility = 'hidden';
    alert('You have x2 the clicks!')
}

3 个答案:

答案 0 :(得分:1)

您的if (cookies < 10) {不是任何函数的一部分,因此它只会在页面加载时运行一次。您可能希望改为将其包含在getCookie()函数中,并用else在需要时显示升级按钮。

function getCookie() {
    cookies += cookieClick;
    document.getElementById('cookieCount').innerHTML = cookies;
    document.getElementById('img').style.visibility = 'visible';
    if (cookies < 10) {
        document.getElementById('up').style.visibility = 'hidden';
    } else {
        document.getElementById('up').style.visibility = 'visible';
    }
}

(但是,如果cookie的值永远不会降低,您可以通过仅加载最初隐藏元素的页面并仅检查cookies > 10来显示它来简化此操作。)

答案 1 :(得分:0)

是的,onClick事件侦听器可以检查您当前的cookie计数并切换您的升级按钮以显示可见性。

答案 2 :(得分:0)

<button onclick="incrementCount()"> b1 </button>
<button id="b2" style="visibility:hidden" onclick="something()">b2</button>

<script>
var cookies = 0;
var cookieClick = 0;

function incrementCount(){
  cookieClick = cookieClick + 1;
  console.log(cookieClick)
  if(cookieClick == 10){  
  document.getElementById('b2').style.visibility = "visible"
 }
}

function something(){
 alert('i work')
}
</script>

您可以尝试这段简单的代码。