/* Метод определения элемента, подверженного прокрутке, на котором может меняться параметр scrollTop (html или body?)*/
detect_scrolled_element: function()
{
var elem = document.body; // прокручиваемый элемент по умолчанию
var temp_scrollTop = document.body.scrollTop;
document.body.scrollTop = 1; // попытка изменить scrollTop
if(document.body.scrollTop == temp_scrollTop) // нет изменений?
{
temp_scrollTop = document.documentElement.scrollTop;
document.documentElement.scrollTop = 1; // попытка изменить scrollTop
if(document.documentElement.scrollTop == temp_scrollTop) // нет изменений?
{
}
else // есть изменения, прокручиваемый элемент найден
{
document.documentElement.scrollTop = temp_scrollTop;
elem = document.documentElement;
}
}
else // есть изменения, прокручиваемый элемент найден
{
document.body.scrollTop = temp_scrollTop;
elem = document.body;
}
return elem;
}
this.scrolled_element_event = document; // элемент, на котором отслеживается прокрутка страницы
this.scrolled_element_value = this.detect_scrolled_element(); // определяем, какой элемент cкролится при прокрутке страницы
Когда контент элемента не создаёт вертикальную прокрутку, его scrollTop равно 0.