Вход

Просмотр полной версии : При нажатии на таб автоматическое перелючение должно перейти на ручное


lebigan
30.10.2018, 16:32
Добрый день! Есть скрипт для атоматического переключения табов. Как сделать так, что бы при нажатии на картинку таба, автоматический режим прекращался и переключать уже только вручную, до перезагрузки страницы.

div class="tabs">

<ul class="tabNavigation">
<li><a class="" href="#tabs-1">1</a></li>
<li><a class="" href="#tabs-2">2</a></li>
<li><a class="" href="#tabs-3">3</a></li>
</ul>

<div id="tabs-1">
img
</div>
<div id="tabs-2">
img
</div>
<div id="tabs-3">
img
</div>
</div>

$(function() {
var t = 1;
function switchTabs() {
if (t > 3) t = 1;
if (t == 1) $('div.tabs ul.tabNavigation li a[href="#tabs-1"]').click();
if (t == 2) $('div.tabs ul.tabNavigation li a[href="#tabs-2"]').click();
if (t == 3) $('div.tabs ul.tabNavigation li a[href="#tabs-3"]').click();
t++;
}
var sw_tabs_timer1 = window.setInterval(switchTabs, 3000);
});

Nexus
30.10.2018, 17:21
По клику на изображение выполнить этот код:
clearTimeout(sw_tabs_timer1);
Важно, чтобы переменная sw_tabs_timer1 была доступна в области видимости этого кода.

lebigan
30.10.2018, 18:29
По клику на изображение выполнить этот код:
clearTimeout(sw_tabs_timer1);
Важно, чтобы переменная sw_tabs_timer1 была доступна в области видимости этого кода.

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

Dilettante_Pro
30.10.2018, 18:44
$(function() {
var t = 1;
function switchTabs() {
if (t > 3) t = 1;
if (t == 1) $('div.tabs ul.tabNavigation li a[href="#tabs-1"]').click();
if (t == 2) $('div.tabs ul.tabNavigation li a[href="#tabs-2"]').click();
if (t == 3) $('div.tabs ul.tabNavigation li a[href="#tabs-3"]').click();
t++;
}
var sw_tabs_timer1 = window.setInterval(switchTabs, 3000);

$('[id ^= "tabs-"]').one("click", function() {
clearInterval(sw_tabs_timer1);
}
});

lebigan
30.10.2018, 18:54
$(function() {
var t = 1;
function switchTabs() {
if (t > 3) t = 1;
if (t == 1) $('div.tabs ul.tabNavigation li a[href="#tabs-1"]').click();
if (t == 2) $('div.tabs ul.tabNavigation li a[href="#tabs-2"]').click();
if (t == 3) $('div.tabs ul.tabNavigation li a[href="#tabs-3"]').click();
t++;
}
var sw_tabs_timer1 = window.setInterval(switchTabs, 3000);

$('[id ^= "tabs-"]').one("click", function() {
clearInterval(sw_tabs_timer1);
}
});
но так перестало срабатывать автоматическое переключение