Вход

Просмотр полной версии : Как реализовать имитацию 3 кликов после нажатия на кнопку?


sergey24
09.07.2017, 20:06
Добрый день. Суть вопроса такова, имеется 4 кнопки, требуется после клика на первую автоматически имитировать клики по остальным с задержкой.
<button id="button-main"></button>
<button id="button-1"></button>
<button id="button-2"></button>
<button id="button-3"></button>

Сообразил так, но не работает:
<script type="text/javascript">
$('#button-main').click(function(){
setTimeout(function(){
$('#button-1').trigger('click');
},3000);
setTimeout(function(){
$('#button-2').trigger('click');
},4000);
setTimeout(function(){
$('#button-3').trigger('click');
},5000);
});
</script>
Стоит отметить, что при таком коде все 4 кнопки отлично кликаются после загрузки страницы:
<script type="text/javascript">
$(document).ready(function(){
setTimeout(function(){
$('#button-main').trigger('click');
},2000);
setTimeout(function(){
$('#button-1').trigger('click');
},3000);
setTimeout(function(){
$('#button-2').trigger('click');
},4000);
setTimeout(function(){
$('#button-3').trigger('click');
},5000);
});
</script>

рони
09.07.2017, 20:21
Сообразил так, но не работает:
работает, оберните код в ready

sergey24
09.07.2017, 20:24
рони,
Обернул в ready, не помогло.

рони
09.07.2017, 20:57
sergey24,
клинкуть по первой кнопке
<!DOCTYPE html>

<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css"> button{
height: 50px;
width: 100px;
background-color: hsla(120, 61%, 34%, 1);
}
button.red{
background-color: hsla(0, 100%, 50%, 1);
}

</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$(function() {
var i = 0, b = $("button");
function click()
{
$(this).toggleClass("red")
}
b.on({"click": click})

$('#button-main').click(function(){
setTimeout(function(){
$('#button-1').trigger('click');
},3000);
setTimeout(function(){
$('#button-2').trigger('click');
},4000);
setTimeout(function(){
$('#button-3').trigger('click');
},5000);
});


});
</script>
</head>

<body>
<button id="button-main"></button>
<button id="button-1"></button>
<button id="button-2"></button>
<button id="button-3"></button>


</body>
</html>

sergey24
09.07.2017, 21:09
рони,
Сейчас обратил внимание что каждая последующая кнопка подгружается через ajax после клика на предыдущую. Возможно поэтому мой код и не работает, хотя тогда не могу понять, почему клики 4 кнопок работают, странно, буду разбираться. Спасибо за Ваш код, возможно поможет.

рони
09.07.2017, 21:44
кнопка подгружается через ajax
в ajax и ставьте trigger