带有if语句和按钮的JavaScript

带有if语句和按钮的JavaScript,javascript,Javascript,我对JavaScript非常陌生,但我对c有一些了解,对HTML也有很多了解 我在这个项目中的问题是,我希望第二个按钮(onclick应该运行firstx2函数的按钮)只有在点数达到100或更多之后才可见,我不知道该怎么做。还需要在他们单击按钮后使其消失。谢谢 var点=0; var=1; 函数addPoints(){ 点=点+点多; document.getElementById(“pointdisplay”).innerHTML=“您有”+个点 +“点数!”; } 函数firstx2(){

我对JavaScript非常陌生,但我对c有一些了解,对HTML也有很多了解

我在这个项目中的问题是,我希望第二个按钮(onclick应该运行
firstx2
函数的按钮)只有在点数达到100或更多之后才可见,我不知道该怎么做。还需要在他们单击按钮后使其消失。谢谢

var点=0;
var=1;
函数addPoints(){
点=点+点多;
document.getElementById(“pointdisplay”).innerHTML=“您有”+个点
+“点数!”;
}
函数firstx2(){
pointMulti*=2;
document.getElementById(“multidisplay”).innerHTML=“您的乘数是:”+
pointMulti+“!”
}

点击开始

加分 x2乘数。费用:100

首先,更改

<button onclick="firstx2">x2 Multiplier. Cost: 100</button>

您没有正确调用该函数

onclick=“firstx2”
更改为
onclick=“firstx2()”

还添加了一些对逻辑的编辑,当您购买x2乘数时,分数将减少100

但是主要的问题是调用函数

var点=0;
var=1;
函数addPoints(){
点=点+点多;
document.getElementById(“pointdisplay”).innerHTML=“您有”+个点+
“点数!”;
}
函数firstx2(){
如果(点数>=10){
pointMulti=pointMulti*2;
分值=分值-10;
document.getElementById(“pointdisplay”).innerHTML=“您有”+个点+
“点数!”;
document.getElementById(“multidisplay”).innerHTML=“您的乘数是:”+
点多+“!”;
}
}
点击开始

加分 x2乘数。费用:100


好的,下面是您的操作方法:

  • 纠正第二个按钮的
    onclick
    部分,就像其他人提到的那样
  • 向第二个按钮添加id并向其添加样式:
    display:none以隐藏它
  • 使其显示在添加点中(设置显示:内联;
  • 关于消失,您可以设置
    display:none再次返回
  • 下面的具体实现与您描述的类似:当您的分数>=100分时,每次单击第一个按钮后都会出现乘法按钮(我已将初始点设置为98,以便更快地进行测试):

    var点=98;
    var=1;
    函数addPoints(){
    点+=点多;
    var pointsArea=document.getElementById(“pointdisplay”);
    pointsArea.innerHTML=“您有“+点+”点!”;
    如果(点数>=100){
    var multiply_button=document.getElementById(“btn_multiply”);
    multiply_button.style.display=“inline”;
    }
    }
    函数firstx2(){
    pointMulti*=2;
    var multiplearea=document.getElementById(“multidisplay”);
    multiplierArea.innerHTML=“您的乘数是:“+pointMulti+”!”;
    var multiply_button=document.getElementById(“btn_multiply”);
    multiply_button.style.display=“无”;
    }
    
    点击开始

    加分 x2乘数。费用:100


    您可能需要更改css属性。您就快到了,只需在显示/隐藏按钮之前检查计数。
    onclick=“firstx2”
    内联处理程序中不会运行函数。
    firstx2
    从不运行,因为您的
    onclick
    属性不正确。应该是
    onclick=“firstx2()”
    很高兴您为
    firstx2()
    投入了额外的工作,但您还没有真正添加OP要求的内容。。。。“仅在点数达到或超过100点后显示”我只是做了一个更改。。认为它解决了你的问题。这很有帮助,但是如果你的分数低于100分,按钮仍然会出现。有没有办法让它在你得到100+分后显示出来?谢谢这很有帮助,谢谢!但我还有几个问题。这是现在的工作,但有没有一种方法,我可以让第一个X2按钮只显示在你有100分?这样,当您的积分达到或超过100分时,就会显示x2按钮。否则,它是隐藏的。如果你想让这个按钮在这个人达到100+点后永久可见,请在add points函数`else{document.getElementById(“x2”).style.visiblity=“none”;}`中删除这个按钮,我为这一点感到抱歉,但当我试图运行该代码时,它在我达到100点后没有出现。太棒了!谢谢
    <button onclick="firstx2()">x2 Multiplier. Cost: 100</button>
    
    function firstx2(){
        if(points >= 100){
            pointMulti *= 2;
            document.getElementById("multidisplay").innerHTML = "Your multiplier is: " + pointMulti + "!";
            document.getElementById("pointdisplay").innerHTML = "You have " + points;
            points -= 100;
        }
    }