Всем привет.
Есть такой обработчик клика по навигационным кнопкам
Проблема в том что кликая два раза подряд по кнопке навигации анимация идет как надо , а вот второй раз(или третий, сколько наклацаешь) функция rokir не запускается . Как можно проверять все ли манипуляции проделаны?
Есть вариант использования
$('.class').trigger('click');
и
$('.class').unbind('click');
То есть в начале убивать обработчик, а в конце добавлять. Правильно ли это и есть ли что то более практичное и совершенное? Спасибо. Может еще рекомендации по улучшению кода?
$('.navigation').click(function(){
var div = document.getElementById('slider');
var elems = div.getElementsByTagName('div');
var first_slide = "#"+elems[0].id;
var last_slide = "#"+elems[4].id;
var rules = this.id;
var smeh = (width_slider_basic.replace (/px/g, '')) ;
smeh = smeh*2;
smeh = smeh+"px";
//alert(smeh);
switch(this.id)
{
case 'left':
$('#slider').animate({
left: smeh
}, 1000, function() {
rokir(first_slide,last_slide,rules);
});
break
case 'right':
$('#slider').animate({
left: "0px"
}, 1000, function() {
rokir(first_slide,last_slide,rules);
});
break
}
//rokir(first_slide,last_slide,this.id);
});
function rokir(id1,id2,id){
id1=$(id1);
id2=$(id2);
switch(id)
{
case 'left':
id2.after(id1);
break
case 'right':
id1.before(id2);
break
}
$('#slider').css('left',width_slider_basic);
//id2.after(id1);
//id1.replaceWith(id2);
}