Показать сообщение отдельно
  #1 (permalink)  
Старый 02.10.2017, 13:26
Новичок на форуме
Отправить личное сообщение для Andreeshe Посмотреть профиль Найти все сообщения от Andreeshe
 
Регистрация: 02.10.2017
Сообщений: 4

Как заставить mouseenter приостанавливать цикл
Пытаюсь реализовать следующее: при запуске странички должны поочерёдно автоматически нажиматься кнопки (шесть штук button) на слайдере. Если посетитель заводит курсор над зоной слайдера (#screen), то цикл автоматического нажатия должен приостановиться. А когда курсор уходит с зоны слайдера, то цикл снова возобновляется (либо заново начинается).
Сейчас в коде ниже происходит так: при нажатии на кнопку пользователем раздел слайдера не успевает открыться и происходит срабатывание автоматического цикла. Как исправить? В каком направлении копать? Помогите пожалуйста.
Вот код:
var aaa =   setTimeout(function myd() {
  document.getElementById('justbutton').click()
 },10000);
 var bbb = setTimeout(function myd() {
  document.getElementById('justbutton2').click()
 },25000);
 var ccc = setTimeout(function myd() {
  document.getElementById('justbutton3').click()
 },40000);
 var ddd =  setTimeout(function myd() {
  document.getElementById('justbutton4').click()
 },55000);
 var eee =  setTimeout(function myd() {
  document.getElementById('justbutton5').click()
 },70000);
 var fff = setTimeout(function myd() {
  document.getElementById('justbutton6').click()
 },85000);
 
 $('#screen').on('mouseenter', function(){
 clearTimeout(aaa);
 clearTimeout(bbb);
 clearTimeout(ccc);
 clearTimeout(ddd);
 clearTimeout(eee);
 clearTimeout(fff);
});
 
 
$('#screen').on('mouseleave', function(){
 var aaa =   setTimeout(function myd() {
  document.getElementById('justbutton').click()
 },10000);
 var bbb = setTimeout(function myd() {
  document.getElementById('justbutton2').click()
 },25000);
 var ccc = setTimeout(function myd() {
  document.getElementById('justbutton3').click()
 },40000);
 var ddd =  setTimeout(function myd() {
  document.getElementById('justbutton4').click()
 },55000);
 var eee =  setTimeout(function myd() {
  document.getElementById('justbutton5').click()
 },70000);
 var fff = setTimeout(function myd() {
  document.getElementById('justbutton6').click()
 },85000);
});
 
 
 $('#screen .menu button').on('click', function(){
 clearTimeout(aaa);
 clearTimeout(bbb);
 clearTimeout(ccc);
 clearTimeout(ddd);
 clearTimeout(eee);
 clearTimeout(fff);
});
Ответить с цитированием