Вы можете использовать функцию .hover () : для остановки прокрутки, когда мышь находится над элементом прокрутки:
http://jsfiddle.net/bGHAH/1/
setInterval(function(){
if(!mouseover)
{
$('#scrollbox').scrollLeft($('#scrollbox').scrollLeft()+1);
}
}, 50);
var mouseover = false;
$('#scrollbox').hover(function(){
mouseover = true;
},function(){
mouseover = false;
});
Редактировать
На основании ваших комментариев мне удалось найти плагин jquery со следующего сайта: специальные события прокрутки для jquery .
Этот плагин содержит событие, которое пытается определить, остановилась ли прокрутка на основе промежутка времени, прошедшего между последним шагом прокрутки и временем, когда была сделана проверка.
Чтобы заставить это работать, мне нужно было замедлитьваш интервал чуть больше задержки, используемой плагином, который составил 310 миллисекунд.Это означало, что мне пришлось увеличить шаг прокрутки, чтобы он заметно двигался.
Вот ссылка:
http://jsfiddle.net/EWACn/1/
и вот код:
var stopAutoScroll = false;
$(document).ready(function(){
setInterval(function(){
if(!stopAutoScroll)
{
$('#status').html('scrolling');
$('#scrollbox').scrollLeft($('#scrollbox').scrollLeft()+10);
}else{
$('#status').html('not scrolling');
}
}, 310);
$('#scrollbox').bind('scrollstart', function(e){
stopAutoScroll = true;
});
$('#scrollbox').bind('scrollstop', function(e){
stopAutoScroll = false;
});
});
Надеюсь, это поможет.