Я изменил @techfoobar код и сделать что-то вроде этого, который как свитки непрерывно до конца на MouseDown и перемещает один DIV или на один клик. Фрагмент кода:
var scrolling=false;
var scrollTimer=-1;
$('#next').bind('mousedown',function() {
scrolling = true;
scrollTimer = setInterval(function() {
scrollDivRight();
}, 100);
return false;
});
$('#next').bind('mouseup',function() {
scrolling = false;
clearInterval(scrollTimer);
return false;
});
$('#next').bind('mouseout',function() { /*For smoother effect and also prevent if any previous delay (eg. 100ms)*/
scrolling = false;
clearInterval(scrollTimer);
return false;
});
scrollDivRight:function(){
if(!scrolling) return false;
myScroll.scrollTo(177, 0, 400, true);
}
Просьба предложить, если есть что-то лучше, чем это. Конечно, вопрос, упомянутый в его ответе, остался нерешенным.
Я проверил демонстрацию, которую вы сделали.Он работает очень хорошо, за исключением того, что вы упомянули, и еще одна вещь, которую я заметил, находится на mousedown, она выполняет свою работу, но при немедленном нажатии и выходе (один клик) есть что-то, что нужно сделать, чтобы только один div перемещался или вне. У меня фиксированная ширина div. Так что вы можете посмотреть, что работает один раз. Здесь происходит что-то необычное с одним щелчком мыши. – user850234
Если вы посмотрите на исходный код iscroll, вы увидите, что есть опция 'useTransform', с помощью которой вы можете попросить его не использовать translate и вместо этого использовать свойство left left для прокрутки. Таким образом, мы сможем легко определить, достигнут ли его конец (в любом случае). – techfoobar
Я попробовал метод, который вы предложили. Есть ли способ получить текущую левую позицию в функции перемещения iscroll4 во время прокрутки. В конце мы можем получить левое значение, но при прокрутке, как понять, что скроллер достиг конца, и его нужно остановить, пока мы не получим левое значение прокрутки в функции перемещения iscroll. – user850234