2016-09-16 3 views
0

Im пытается сделать игру кликера, и когда клики достигают определенного числа, что-то происходит. Ничего не произошло. Любые идеи относительно того, почему заявление if, которое я добавил, ничего не делает, достигая десяти кликов?Если инструкция для автокликера

<!DOCTYPE html> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <title>Clicker</title> 
    <script src="counter.js"></script> 
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/css/bootstrap.min.css" integrity="2hfp1SzUoho7/TsGGGDaFdsuuDL0LX2hnUp6VkX3CUQ2K4K+xjboZdsXyp4oUHZj" crossorigin="anonymous"> 
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.2.0/js/tether.min.js" integrity="sha384-Plbmg8JY28KFelvJVai01l8WyZzrYWG825m+cZ0eDDS1f7d/js6ikvy1+X+guPIB" crossorigin="anonymous"></script> 
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.4/js/bootstrap.min.js" integrity="VjEeINv9OSwtWFLAtmc4JCtEJXXBub00gtSnszmspDLCtC0I4z4nqz7rEFbIZLLU" crossorigin="anonymous"></script> 
    <style> 
     body{ 
      text-align: center; 
      background-image: url("https://gift-frog.com/wp-content/uploads/2016/06/off-white-textured-background-1920x10803.jpg"); 
     } 
     h1{ 
      font-size: 100px; 
      color: #372424; 
     } 
     h3{ 
      color: #372424; 
     } 
     h2{ 
      color: #372424; 
     } 
     *.unselectable { 
      -moz-user-select: -moz-none; 
      -khtml-user-select: none; 
      -webkit-user-select: none; 

      /* 
       Introduced in IE 10. 
       See http://ie.microsoft.com/testdrive/HTML5/msUserSelect/ 
      */ 
      -ms-user-select: none; 
      user-select: none; 
     } 
    </style> 
</head> 
<body id="body" onclick="doClick()"> 
    <nav class="navbar navbar-dark navbar-inverse"> 
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#exCollapsingNavbar" aria-controls="exCollapsingNavbar" aria-expanded="false" aria-label="Toggle navigation"> 
    &#9776; 
    </button> 
    <div class="collapse" id="exCollapsingNavbar"> 
    <div class="bg-inverse p-a-1"> 
     <h4>Your Statistics</h4> 
     <span class="text-muted">graph in development</span> 
     <br> 
     <h4>Rank</h4> 
     <progress class="progress progress-success" value="bob" max="500"></progress> 
    </div> 
    </div> 
</nav> 
    <div class="container"> 
    <div class="row"> 
    <div class="col-sm-4"> 
    </div> 
    <div class="col-sm-4"> 
     <h1 class="unselectable">Clicked <h1 class="unselectable" id="counter">0</h1></h1> <h1 class="unselectable">times</h1> 
    </div> 
    <div class="col-sm-4"> 
    </div> 
    </div> 
</div> 


</body> 
</html> 

Это javascript для этого.

/** 
* Created by Illuminati on 9/8/2016. 
*/ 
var clicks = 0; 
var multiplyer = 0; 

function doClick() { 
    clicks = clicks + 1; 
    var theCounter = document.getElementById('counter'); 
    theCounter.textContent = clicks; 
} 
if(clicks == 10){ 
    alert("test"); 
} 
+4

Переместить условное значение внутри функции. Вне этого он читается только при загрузке страницы, где он всегда является ложным. – SchattenJager

+0

Как вы думаете, я должен сделать интервал, чтобы постоянно делать чек? Или вы думаете, что оставить его в функции щелчка умнее, потому что он просто проверяет, как только они нажмут. –

+1

@KodySimpson Не помещайте его внутри интервала. Если в функции есть только один раз «щелчок», нет необходимости в ней. –

ответ

1

Переместить условное значение внутри функции. Вне этого он читается только при загрузке страницы, где он всегда является ложным.

+0

Спасибо, быстрый вопрос об автокликере, если вы не возражаете помочь мне ... Я пытаюсь сделать так, чтобы он делал клик каждые 5 секунд с помощью этого: window.setInterval (function() { if (rank1! = True) { return false; } doClick(); }, 5000) }, но вместо этого он делает столько кликов, сколько может в течение 5 секунд, и без щелчков, очевидно, в течение 5 секунд после этого –

+0

Помимо дополнительного} в конце, это похоже, что он должен работать. setInterval ждет, пока первый интервал не будет достигнут для первого запуска. – SchattenJager

1

Блок if, который вы когда-либо выполняли, но ваш обработчик событий запускается всякий раз, когда пользователь нажимает кнопку.

Что-то вроде этого:

function doClick() { 
    clicks += 1; 
    var theCounter = document.getElementById('counter'); 
    theCounter.textContent = clicks; 
    if(clicks == 10){ 
     alert("test"); 
    } 
} 

Кроме того, вместо делать, counter = counter + 1 можно также использовать, clicks += 1 который точно то же самое.

Смежные вопросы