// высота документа во фрейме var docFrameHeight; // высота фрейма var frameHeight; // коэфициент var Q; // позиция документа var Position = 0; var Pos = 0; // пригодица var activate = false; // границы var startScroll; var stopScroll; //поправка горизонтальной координаты для Оперы var popravka=0; if(navigator.appName=='Opera') { popravka=21; } //----------------------------------------------------------------------| // фукнции для реализации прокрутки при помощи искусственного скрулинга | //----------------------------------------------------------------------| // прокрутка вверх function contentUp(speed) { // alert ("contentUp"); if (Position > 0) { // определение картинки-ползунка // imagePos = document.getElementById('polz'); // aaa // смещение документа во фрейме на SPEED пикселей вниз document.frames['content'].scrollBy(0, -speed); // пропорциональное смещение ползунка по полосе // imagePos.style.top = Position * Q; // aaa // счётчик Position = Position - 2; } } // прокрутка вниз function contentDown(speed) { // alert ("contentDown"); if (Position < (docFrameHeight - frameHeight)) { // imagePos = document.getElementById('polz'); // aaa document.frames['content'].scrollBy(0, speed); // imagePos.style.top = Position * Q; // aaa Position = Position + 2; } } function FrameHeight() { // alert ("FrameHeight"); docFrameHeight = document.frames['content'].document.body.scrollHeight; frameHeight = 432; if (docFrameHeight > frameHeight) Q = frameHeight / (docFrameHeight - frameHeight); else Q = 0.001; } // начальные значения // при загрузке документа function getFrameHeight() { /// alert ("getFrameHeight"); // смещение документа во фрейме на начало document.frames['content'].scrollTo(0,0); // позиция документа Position = 0; // высота документа во фрейме docFrameHeight = document.frames['content'].document.body.scrollHeight; // высота фрейма frameHeight = 432; if (docFrameHeight > frameHeight) Q = frameHeight / (docFrameHeight - frameHeight); else Q = 0; } // перетаскиваие ползунка function dragPolz() { // alert ("dragPolz"); if (activate) { // сколько прокручено (если окно прокручено) pY = document.documentElement.scrollTop; // текущее положение ползунка curent = parseInt(event.y) + parseInt(pY); // ползунок img = document.getElementById('polz'); w = document.polz.width; // ширина h = document.polz.height; // высота // window.status = document.documentElement.scrollTop; // aaa // левая граница // img.style.left = document.body.scrollWidth - 14 - popravka; img.style.left = 604; // верхняя var top = parseInt(img.style.top); // если не выходит за границы линии if ((event.y + pY) > startScroll && (event.y + pY) < stopScroll) { // позиция ползунка img.style.top = event.y - w / 2 + pY; // позиция окна во фрейме Position = (curent - 182) / Q; document.frames['content'].scrollTo(0, Position); // убрать в конце } } } // функция активации перетаскивания function Activate() { // alert ("Activate"); img = document.getElementById('polz'); pY = document.documentElement.scrollTop; curent = parseInt(event.y) + parseInt(pY); // границы для ползунка, верхняя и нижняя соответсвенно startScroll = 182; stopScroll = parseInt(startScroll) + parseInt(frameHeight); activate = !activate; if (activate) { // img.style.left = document.body.scrollWidth - 14 - popravka; img.style.left = 604; img.style.top = parseInt(img.style.top) + 182; img.style.position = "absolute"; } if (!activate) { if (curent > startScroll && curent < stopScroll) img.style.top = event.y - 182 + pY; if (curent < startScroll) img.style.top = startScroll - 182; if (curent > stopScroll) img.style.top = stopScroll - 182; img.style.left = 2; img.style.position = "relative"; }