Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.07.2012, 15:59
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

Скролл перетаскиванием
Мне требуется сделать аналог "руки" в различных программах, например acrobat reader, чтобы при перемещении курсора мыши в нажатом состоянии левой кнопки, страница браузера скролилась вместе с этим перемещением.
Вот такой скрипт. Но работает он жутко коряво. Почему так? Как надо?
Посоветуйте, пожалуйста.


var down = 0;
var x = 0;
var y = 0;
var dx;
var dy;


document.onmousedown = function(e) {
e = e || window.event;
down = 1;
x = e.clientX;
y = e.clientY;

}


document.onmouseup = function(e){
e = e || window.event;
down = 0;

}

document.onmousemove = function(e){
e = e || window.event;
var move_state = document.getElementById('move_state');
var xy = document.getElementById('xy');
if(down == 1){

dx = e.clientX - x;
dy = e.clientY - y;
window.scrollBy(dx, dy);
x=e.clientX;
x=e.clientY;

}else{

}

}
Ответить с цитированием
  #2 (permalink)  
Старый 29.07.2012, 16:16
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

bayah,
Вызывайте функцию не на всём элементе, а ток при наведении-нажатии на конкретный элемент, покольку - брауз вынужден при .onmouseьщму на весь документ - отслеживать постоянно и на всём документе положение курсора
Т.е должен быть drag-and-drop элемент( типо картинка руки) , изначально скрыт, при нажатии на страницу, возникает элемент(элемент возникает только на чистом и нужном пространстве, т.к есть еще и элементы управления, которые нужно тыкать мышью), вот по наведению и нажатию на него, - двигаем и позицию данного элемента и скролл страницы

Последний раз редактировалось Deff, 29.07.2012 в 16:19.
Ответить с цитированием
  #3 (permalink)  
Старый 30.07.2012, 02:20
Кандидат Javascript-наук
Отправить личное сообщение для bayah Посмотреть профиль Найти все сообщения от bayah
 
Регистрация: 22.04.2010
Сообщений: 111

не совсем понял, почему на конкретном элементе делать обработчик, мне все равно скроллить всю хтмл страницу
я же не перетаскиваю какой-то конкретный элемент, я вообще их не перетаскиваю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Пропадает скролл в мини-чате fAmOus Элементы интерфейса 5 21.07.2012 15:37
Скролл как вконтакте shilinpavel Javascript под браузер 3 14.06.2012 18:44
Определить присутствует ли скролл на iframe sergiyko Общие вопросы Javascript 3 14.03.2011 23:15
Как прокрутить скролл до элемента PAMAC Общие вопросы Javascript 2 04.10.2010 09:56
Плавный скролл колёсиком Alerto Элементы интерфейса 5 27.08.2009 11:46