рони,
а не могли бы подсказать ещё одну вещь с setTimeout - как обнулить счетчик? то есть, есть код, который написал выше (с setTimeout()). Он двигает блок с определенным интервалом. А при клике на кнопки вперед/назад, получается такая некрасивая вещь, когда слайд сразу после клика переходит на другую, так как после клика таймер не обнуляется. Пробовал в функциях клика по "вперед/назад" в конце писать clearTimeout() - результата нет. |
Булат Азат улы,
$(document).ready(function(){ var timer; ...click(function(){clearTimeout(timer) //... timer =setTimeout(function(){ |
рони,
написал так, вот краткий код: var slaidTimer; $(".kuchuUn").click(function(){ clearTimeout(slaidTimer); // вот чистка таймера if(transPoz <= -(slRasBlok.length * slRasBlokWidth - slRasBlokWidth)){ transPoz = 0; slaidPoz.bind(this)(transPoz); }else{ transPoz = transPoz - slRasBlokWidth; slaidPoz.bind(this)(transPoz); } }); slaidTimer = setTimeout(function slaidTime(){ var transBlok = $(".slaidContainer"); if(transPoz <= -(slRasBlok.length * slRasBlokWidth - slRasBlokWidth)){ transPoz = 0; transBlok.css("transform", "translateX("+transPoz+"px)"); }else{ transPoz = transPoz - slRasBlokWidth; transBlok.css("transform", "translateX("+transPoz+"px)"); } slaidTimer = setTimeout(slaidTime, slaidInterval); // если тут переменную убрать - вообще как без изменений (без сброса), //а если поставить - после клика таймер вообще перестает работать (слайды стоят на месте) }, slaidInterval); |
Булат Азат улы,
как вариант... var slaidTimer; $(".kuchuUn").click(function(){ clearTimeout(slaidTimer); if(transPoz <= -(slRasBlok.length * slRasBlokWidth - slRasBlokWidth)){ transPoz = 0; slaidPoz.bind(this)(transPoz); }else{ transPoz = transPoz - slRasBlokWidth; slaidPoz.bind(this)(transPoz); } }); function slaidTime(){ clearTimeout(slaidTimer); var transBlok = $(".slaidContainer"); if(transPoz <= -(slRasBlok.length * slRasBlokWidth - slRasBlokWidth)){ transPoz = 0; transBlok.css("transform", "translateX("+transPoz+"px)"); }else{ transPoz = transPoz - slRasBlokWidth; transBlok.css("transform", "translateX("+transPoz+"px)"); } slaidTimer = setTimeout(slaidTime, slaidInterval); }; slaidTime(); $("#topBlok").mouseleave(slaidTime) |
рони,
Спасибо большое! |
Часовой пояс GMT +3, время: 05:12. |