Показать сообщение отдельно
  #1 (permalink)  
Старый 15.06.2011, 23:35
Новичок на форуме
Посмотреть профиль Найти все сообщения от Enters
 
Регистрация: 15.06.2011
Сообщений: 2

Неправильно работает перетаскивание слоя
Здравствуйте!

На странице есть слой с overflow:hidden и с большой картинкой внутри. Содержимое слоя перетаскивается по onMouseDown такой функцией:

function Move ( e )
 {
  if ( !e ) e = window.event;
  var x = e.pageX || e.x;
  var y = e.pageY || e.y;
  var elem = document.getElementById("Layer");
  document.onmousemove = function ( e )
   {
    if ( !e ) e = window.event;
    var x2 = e.pageX || e.x;
    var y2 = e.pageY || e.y;
    elem.scrollTop -= ( y2 - y );
    y = y2;
    elem.scrollLeft -= ( x2 - x );
    x = x2;
   }
  document.onmouseup = function () { document.onmousemove = null; };
 }

В Опере, Файрфоксе, Хроме и Сафари всё работает корректно. Но в ИЕ при перетаскивании содержимое слоя, во-первых, дёргается туда-сюда (чем больше расстояние, на которое уже перетащили, тем сильнее), а во-вторых, скорость перетаскивания в два раза медленнее, чем нужно.

Может быть, кто-нибудь знает, что здесь можно сделать?
Ответить с цитированием