Извините, я, кажется, не полностью понял смысл
.bind() и
$.proxy(). Или, может, они могут выполняться только при помощи "
this"?
Дело в том, что я написал функцию:
function slaidPoz(transPoz){
return function(){
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)");
}
}
}
Нужно запустить эту функцию несколько раз. Один раз - точно в таком виде, в каком он и написан (по выборке):
setInterval(slaidPoz(transPoz), 6000);
И несколько раз запустить с относительного места (с помощью "
this").
То есть, на странице могут быть несколько слайдов, и функция с интервалом (смена изображений) должна работать на всех слайдах. А вот при клике на кнопки вперед/назад, должна запускаться та же функция, только для определенного слайда, с помощью "
this".
Вот код HTML:
<div class="slaidlar">
<div class="slaidlarBlok">
<div class="slaidContainer"><div class="slaidRasemBlok"><img src="img/slaid/1.jpg"><p>Слайд 1</p></div><div class="slaidRasemBlok"><img src="img/slaid/2.jpg"><p>Слайд 2</p></div><div class="slaidRasemBlok"><img src="img/slaid/3.jpg"><p>Слайд 3</p></div></div>
</div>
<img class="next" src="img/arrow-next.png">
<img class="prev" src="img/arrow-prev.png">
</div>
Получается, в функции переменную
transBlok нужно заменить на это:
//это:
$(".slaidContainer");
// на это:
$(this).prevAll(".slaidlarBlok").find(".slaidContainer");
Что-то мне подсказывает, что это можно сделать с помощью
.bind() и
$.proxy(), но не могу добиться работоспособности своих поделок.