如何使用if语句启用按钮?

时间:2017-05-25 01:43:08

标签: javascript

<script>
    var tic;
    tic = 0;
</script>

 <script>
    var ongngic;
    ongngic = 1;
</script>

<button onclick="alert(tic=tic+ongngic);">Ice Cream</button>
<button id= "b1" onclick="alert(ongngic=ongngic+1, tic=tic-10);" disabled="disabled">Buy 'Jimmy's Ice Cream Stand' - 10 Ice Cream</button>

<script>
    function myFunction() {
        document.getElementById("b1").enabled = true;
    }
</script>

<script>
    if(var tic > 9){
        myFunction();
    }
</script>

当我点击“冰淇淋”按钮10次时,id = 1按钮应启用但不启用。任何人都可以帮助我吗?

6 个答案:

答案 0 :(得分:0)

您的代码存在一些问题。

首先删除你刚刚再次声明变量的if语句中的var。

脚本标记中的代码在页面加载时运行,而if语句只检查一次。而是每次单击按钮时运行一个函数。

<button onclick="iceCreamButton();">Ice Cream</button>

function iceCreamButton(){
    alert(tic=tic+ongngic);

    if(tic > 9){
        myFunction();
    }
}

此外,myFunction内的代码不正确,请将其更改为:

document.getElementById("b1").disabled  = false;

答案 1 :(得分:0)

检查此代码

<script>
    var tic;
    tic = 0;
</script>

 <script>
    var ongngic;
    ongngic = 1;
</script>


<button onclick="clickFun();">Ice Cream</button>
<button id= "b1" onclick="alert(ongngic=ongngic+1, tic=tic-10);" disabled="disabled">Buy 'Jimmy's Ice Cream Stand' - 10 Ice Cream</button>

<script>
    function myFunction() {     
        document.getElementById("b1").disabled = false;
    }
</script>

<script>
 function clickFun(){
        tic+=ongngic;
        alert(tic);
        if(tic > 9){
            myFunction();
        }
    }

答案 2 :(得分:0)

&#13;
&#13;
    var tic;
    tic = 0;

    var ongngic;
    ongngic = 1;
     
    function myFunction() {
      document.getElementById("b1").disabled = false;
    }
         
    function cal(){
      tic=tic+ongngic;
       alert(tic);  
      if(tic > 9){
          myFunction();
      }
    }
&#13;
<button onclick="cal()">Ice Cream</button>
<button id= "b1" onclick="alert(ongngic=ongngic+1, tic=tic-10 );" disabled="disabled">Buy 'Jimmy's Ice Cream Stand' - 10 Ice Cream</button>

 
&#13;
&#13;
&#13;

答案 3 :(得分:0)

您的代码中存在几个问题(其他人提到了一些问题),我更倾向于使用jQuery来处理DOM,但是当您编写pure JavaScript中的代码,我在代码中没有使用jQuery。出于多种原因,您应该避免inline JS,基本上不要将HTMLJS尽可能地混在一起。你可以在SO:onclick=“” vs event handler

找到有用的信息

如果您不熟悉addEventListener,可以从以下方面了解:EventTarget.addEventListener()

<强> HTML

<button id="toggle">Ice Cream</button>
<button id="target" disabled="disabled">Buy 'Jimmy's Ice Cream Stand' - 10 Ice Cream</button>

<强> JS

var toggle = document.getElementById('toggle'),
    target = document.getElementById('target'),
    tic = 0,
    ongngic = 1,
    myFunction = function() {
        target.removeAttribute('disabled');
    };

toggle.addEventListener('click', function() {
    tic = tic + ongngic;
    console.log(tic);
    // alert(tic);

    if (tic > 9) myFunction();
}, false);

target.addEventListener('click', function() {
    ongngic = ongngic + 1;
    tic = tic - 10;

    var msg = 'tic:' + tic + ', ongngic: ' + ongngic;
    console.log(msg);
    // alert(msg);
}, false);

jsfiddle

答案 4 :(得分:0)

根据我的理解,您尝试做的事情,您需要一个点击事件监听器,用于检查不同内容的两个按钮。

&#34;冰淇淋&#34;点击按钮会增加它自己的计数器并启用&#34;冰淇淋架&#34;按钮,当它击中10.&#34;冰淇淋架&#34;点击按钮会降低&#34;冰淇淋&#34;以10为单位反击并将其自己的计数器增加1.如果&#34;冰淇淋&#34;它也会使自己失效。计数器最终低于10。

&#13;
&#13;
var count_ice_cream = 0;
var count_ice_cream_stands = 0;

$('btn_ice_cream').addEventListener("click", function(e) {
  count_ice_cream++;

  if (count_ice_cream > 9) {
    $('btn_ice_cream_stands').disabled = false;
  }

  update_totals();
});

$('btn_ice_cream_stands').addEventListener("click", function(e) {
  count_ice_cream_stands++;
  count_ice_cream = (count_ice_cream - 10);

  $('btn_ice_cream_stands').disabled = !(count_ice_cream >= 10);

  update_totals();
});

function update_totals() {
  $('count_ice_cream').innerHTML = count_ice_cream;
  $('count_ice_cream_stands').innerHTML = count_ice_cream_stands;
}

// Shh, don't use this in production
function $(s) {
  return document.getElementById(s)
}
&#13;
body {
  font: 400 1em/1.4 sans-serif;
}
&#13;
<button id="btn_ice_cream">
  Ice Cream: <b id="count_ice_cream">0</b>
</button>
<br>
<button id="btn_ice_cream_stands" disabled>
  Ice Cream Stands: <b id="count_ice_cream_stands">0</b>
</button>
&#13;
&#13;
&#13;

答案 5 :(得分:-2)

我希望这会有所帮助 - 将myFunction()放在 -

onclick="alert(tic=tic+ongngic); myFunction()">Ice Cream</button>

并在myFunction() -

中添加以下内容
document.getElementById("b1").disabled = false;

因此,如果您要启用该按钮,则应将.disabled属性设置为false