рони,
а не могли бы подсказать ещё одну вещь с 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, время: 09:41. |