Как открыть ссылку в новом окне в javascript и увеличить счетчик только при нажатии кнопки?

#javascript #jquery #html #css

#javascript #jquery #HTML #css

Вопрос:

Я пытаюсь открыть ссылку с определенным значением счетчика. Например, если значение счетчика кратно 10, то http://www.google.com ссылка автоматически открывается в новой вкладке, и этот счетчик увеличивается только при нажатии кнопки. Я делаю это в JavaScript.

Любая помощь будет высоко оценена. Заранее большое вам спасибо.

Мой код —

  $('button.counter').click(function myFunction() {
   var count = 1;

   while (count <= 60) {
     if (count == 10) {
       window.open("http://www.facebook.com/shawnikraghav");
     }
     count = count   1;
   }
 });  
 body {
  background-color: #e8e8e8;
}  
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!DOCTYPE html>

<head>
  <title>Test Code</title>
  <link rel="stylesheet" type="text/css" href="style.css">
  
</head>

<body>
  <script src="javascript.js"></script>
  <button class="counter" onClick="myFunction()">Click</button>
</body>

</html>  

Комментарии:

1. Прежде всего удалите значение count , чтобы оно не было 1 каждый раз.

Ответ №1:

Вы должны определить переменную счетчика вне вызова функции по событию click . В вашем коде счетчик будет начинаться с 1 при каждом нажатии.

И если вы хотите проверить, что значение счетчика кратно 10, вам следует изменить условие (count) == 0

 var count = 1;
$('button.counter').click(function myFunction() 
{
    if((count%10 == 0) amp;amp; (count < 60)) {
       window.open("http://www.facebook.com/shawnikraghav");
    } else {
       document.getElementById("text").innerHTML = count;
    }
    count = count   1;
});
  

Комментарии:

1. Это полностью работает для меня, но, как я попробовал простой способ, и это что-то вроде этого, но как заставить его остановиться на 60? var count = 1; function myFunction() { if(count == 0) { window.open("http://www.facebook.com/shawnikraghav"); } else { document.getElementById("text").innerHTML = count; } count = count 1; }

2. Если счетчик достигает 60, условие while больше не выполняется, и оно ничего не сделает. Если вы хотите сбросить счетчик, вы можете добавить условие для проверки счетчика> = 60, а затем установить счетчик обратно в 1.

3. Если мой ответ полезен для вас, пожалуйста, отметьте его как ответ

4. Я пробовал этот код — var count = 1; function myFunction() { while(count <= 60) { if(count == 0) { window.open("http://www.facebook.com/shawnikraghav"); } else { document.getElementById("text").innerHTML = count; } count = count 1; } } но он не увеличивается один за другим. Он просто открывает все вкладки одновременно и показывает отображение счетчика на 59. Когда он достигнет 60, я хочу, чтобы он показывал максимальное достигнутое значение счетчика.

5. О, я исправил это, увеличение счетчика должно быть вне времени, пожалуйста, попробуйте

Ответ №2:

попробуйте таким образом

 $(document).ready(function() {
  var count = 1;  
  $('button.counter').click(function myFunction() {

    while(count <=60) {
      if(count%10 == 0) {
        window.open("http://www.facebook.com/shawnikraghav");
      }
      count = count   1;
    }

  });
});
  

Комментарии:

1. Привет, замените while на if