Здравствуйте!
У меня есть скрипт, который отвечает за прокрутку контента в div'e:
function init(id) {
var obj = document.getElementById(id);
if (obj) {
obj.state = 0;//инициализируем состояние
obj.timer = null;
obj.maxVert = obj.scrollHeight - obj.offsetHeight;//максимальная высота прокрутки
}
}
function scroll_down(id,timer) {
var obj = document.getElementById(id);//получаем объект по ID
if (!obj.maxVert) init(id);//если объект еще не иниициализировался - инициализируем
if (timer == undefined) obj.state = 1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки, ставим состояние прокрутки вниз
if ((obj.maxVert > obj.scrollTop) && (obj.state == 1)) {//если не достигли предела и состояние прокрутки все еще "вниз"(1)
obj.scrollTop = obj.scrollTop + 10;//добавляем смещение прокрутки на 10 пикселей
obj.timer = setTimeout('scroll_down(\''+id+'\',true)',100);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
}
}
function scroll_up(id,timer) {
var obj = document.getElementById(id);//получаем объект по ID
if (!obj.maxVert) init(id);//если объект еще не иниициализировался - инициализируем
if (timer == undefined) obj.state = -1;//если не передан второй параметр timer, значит вызов был от кнопки прокрутки,ставим состояние прокрутки вверх
if ((obj.scrollTop > 0) && (obj.state == -1)) {//если не достигли начала и состояние прокрутки все еще "вверх"(-1)
obj.scrollTop = obj.scrollTop > 10 ? obj.scrollTop - 10 : 0;//добавляем смещение прокрутки на 10 пикселей
obj.timer = setTimeout('scroll_up(\''+id+'\',true)',100);//устанавливаем таймер вызова этой же функции для дальнейшей прокрутки
}
}
function scroll_stop(id) {
var obj = document.getElementById(id);//получаем объект по ID
if (obj) {
if (obj.timer) clearTimeout(obj.timer);
obj.state = 0;
}
}
Прошу обратить внимание, что скрипт использует поиск по id'y, можно ли как-то сделать, чтобы он искал по классам?
Заранее благодарен.