У меня есть сайт,
http://audioart.com.ua/, написанный на Ajax с примесью PHP. Если на главной странице нажать "Стереосистемы", то мы попадаем в меню стереосистем. В правой части сайта расположены группы устройств по три в ряд. Есть две кнопки прокрутки: сверху и снизу. Нажимаем на кнопки, ряды поднимаются или опускаются по ряду до тех пор, пока блок не достигнет конца.
Реализовано это на каждой кнопке так:
На верхней:
Код:
|
<?php if($cbr>6) echo "<a href='#' title='Вверх' ><img src='pics/at.png' onclick='scrolld("conme","189")' ondblclick='scrolld("conme","189")'/></a>";?> |
На нижней:
Код:
|
<?php if($cbr>6) echo "<a href='#' title='Вниз'><img src='pics/ab.png' onclick='scrollu("conme","537","189")' title='Вниз' ondblclick='scrollu("conme","537","189")' /></a>";
?> |
Между кнопками стоят два блока один в одном:
Код:
|
<div id="scrollmeme2" align='center' >
<div id='conme' align='center' ></div>
</div> |
Блок scrollmeme2 служит окном, в котором крутится блок conme
Функция прокрутки:
Код:
|
function scrollu(id,h,i) {
i=i*1;
var name="#"+encodeURIComponent(id);
var t1=149;
var sum=t1-h+i;
if($(name).position().top>=sum)
{
$(name).animate({top:"-="+i},"slow");
}
}
function scrolld(id,i) {
i=i*1;
var name="#"+encodeURIComponent(id);
if($(name).position().top<149)
{
$(name).animate({top:"+="+i},"slow");
}
} |
Где id имя блока, в данном случае conme, h - координата top нижней части блока scrollmeme2, i - высота ряда.
Всё работает отлично, если кликать нормально. Но если кликать на стрелках очень быстро, то условия-ограничения не срабатывают и группы устройств уходят за пределы ограничивающего блока.
Возможно, кто-то сталкивался с такой проблемой?