Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.05.2018, 09:30
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

перебор- перезагрузка и еще раз перебор
Добрый день, не судите строго, я новичок, может еще что то не понимаю.

есть скрипт рабочий
Код:
var pCounter = 0;
  $('.icon_a').each(function(idx,el){
    timerId = setTimeout(function(){$(el).click();}, pCounter*332 + Math.floor(Math.random()*120)) ; pCounter++;
                                          }
                        );
Смысл этого скрипта - пройти по всем icon_a и нажать их.

необходимо после прохождения - перезагрузить страницу и пройти еще раз их(например через минуту).
Делал через
setTimeout(
		 function() {
			 location.reload();
        }, 60000
		);


однако если много icon_a то он перезагружается до прохождения всех значений, а после перезагрузки не запускается снова

P.s. может быть не в ту ветку написал, не судите строго
Ответить с цитированием
  #2 (permalink)  
Старый 08.05.2018, 10:01
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>document</title>
</head>
<body>
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<script>

	function delay(ms) {
		return new Promise(resolve => {
			setTimeout(resolve, ms);
		});
	}

	(async function() {
		let pCounter = 0;
		for(let el of document.querySelectorAll(".icon_a")) {
			await delay(pCounter * 332 + Math.floor(Math.random() * 120));
			el.click();
		}

		//delay(60000); // раскомментируйте если надо подождать минуту
		location.reload();
	})();

	</script>
</body>
</html>


Конечно вместо checkbox может быть всё, по чему можно кликнуть...

Последний раз редактировалось Malleys, 08.05.2018 в 10:04.
Ответить с цитированием
  #3 (permalink)  
Старый 08.05.2018, 10:22
Аспирант
Отправить личное сообщение для dantist433 Посмотреть профиль Найти все сообщения от dantist433
 
Регистрация: 21.02.2016
Сообщений: 37

благодарю
Ответить с цитированием
  #4 (permalink)  
Старый 08.05.2018, 11:18
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

dantist433,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>
$(function() {
  var pCounter = 0;
  $(".icon_a").each(function(idx, el) {
    pCounter = idx;
    setTimeout(function() {
      $(el).click();
      !--pCounter && location.reload();
    }, pCounter * 332 + Math.floor(Math.random() * 120));
  });
});
  </script>
</head>

<body>
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
    <input type="checkbox" class="icon_a">
</body>
</html>
Ответить с цитированием
  #5 (permalink)  
Старый 08.05.2018, 11:58
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

без async/await
<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>document</title>
</head>
<body>
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<script>
                var elems = document.querySelectorAll(".icon_a"), i = 0;
                (function loop() {
                       setTimeout(function() {
                             elems[i].click();
                             if(i == elems.length -1) location.reload();
                             i++;
                             loop();
                        }, 333);
		})();
	</script>
</body>
</html>

Последний раз редактировалось Dilettante_Pro, 08.05.2018 в 12:05.
Ответить с цитированием
  #6 (permalink)  
Старый 08.05.2018, 16:49
Аватар для j0hnik
Профессор
Отправить личное сообщение для j0hnik Посмотреть профиль Найти все сообщения от j0hnik
 
Регистрация: 01.12.2016
Сообщений: 3,650

<!doctype html>
<html lang="en">
<head>
	<meta charset="utf-8">
	<title>document</title>
</head>
<body>
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<input type="checkbox" class="icon_a">
	<script>
		var elems = document.querySelectorAll(".icon_a")
		 elems.forEach((el,i)=>{
			el.click();
			if(i == elems.length-1) setTimeout(()=>location.reload(),6000);
		});
	</script>
</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При клике ссылки, открыть DIV блок, и при клике ещё раз, закрыть его Simon Общие вопросы Javascript 59 28.05.2017 17:31
Как вставить картинку на страницу поверх ее.. Вадим_СС Javascript под браузер 2 23.04.2012 08:45
Добовление формы еще Kuklavod jQuery 2 03.11.2011 15:12
Еще раз о перелистывании digital_sword jQuery 14 27.05.2010 22:20
глюк форума Gvozd Сайт Javascript.ru 11 18.03.2009 14:37