Указать обьект для прокрутки
Можно ли каким нибудь образом указать который элемент страницы должен прокручиваться.
Например: окно броузера, в окне есть прокрутка, т.к. там всякие элементы. И есть див, у которого тоже есть прокрутка. Есть возможность указать как нибудь, что при прокрутке колёсика мыши, должно прокручиваться не содержимое броузера, а содержимое дива? Вcя фишка в том, что на див не нужно кликать, он появился например при помощи скрипта, и на нем автоматический фокус. |
перехватывай событие.
function mufuncwheel( e ) { // тут обрабатывай событие прокрутки колеса мыши. e = e || window.event; if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; if (e.preventDefault) e.preventDefault(); else e.returnValue = false; } if ( document.addEventListener ) { document.addEventListener( 'DOMMouseScroll', mufuncwheel, false ); } else { document.attachEvent( 'onDOMMouseScroll', mufuncwheel ); } |
Цитата:
|
// Функция для обработки колеса мыши на документе function mufuncwheel( e ) { // тут обрабатывай событие прокрутки колеса мыши. // собственно само событие, для ИЕ берем из window e = e || window.event; // Предотвращаем дальнейшее всплытие события if (e.stopPropagation) e.stopPropagation(); else e.cancelBubble = true; // Отменяем действие по умолчанию для события if (e.preventDefault) e.preventDefault(); else e.returnValue = false; } // Вешаем событие на документ if ( document.addEventListener ) { document.addEventListener( 'DOMMouseScroll', mufuncwheel, false ); } else { document.attachEvent( 'onDOMMouseScroll', mufuncwheel ); } |
а как же событие onmousewheel для ие?
|
Цитата:
window.onmousewheel = mufuncwheel; |
))) Спасибо, правда нужно разобраться, не совсем доганяю как это мне поможет.
|
ну дальше все проще после строки e = e || window.event;
вставляй напирмер код: if ( e.wheelDelta ) { wheelDelta = e.wheelDelta / 120; } else if ( e.detail ) { wheelDelta = -e.detail / 3; } if ( wheelDelta < 0 ) { // мышь крутанули вниз // тут можешь прибавлять значение scrollTop своего дива } else if ( wheelDelta > 0 ) { // мышь крутанули вверх // тут можешь уменьшать значение scrollTop своего дива } |
Цитата:
|
dmitriymar,не рассказывай мне сказки... сам везде так делаю как я описал выше и пашет даже в ИЕ5. ;)
|
Часовой пояс GMT +3, время: 04:14. |