November 2019

S M T W T F S
      12
34 5 678 9
10111213141516
17181920212223
24252627282930

Style Credit

Expand Cut Tags

No cut tags
Monday, February 22nd, 2010 04:55 pm

Отдельной рубрики про верстальщиков у меня нет, и вообще я не настоящий сварщик, поэтому пусть будет в задачках для сисадминов.

Сегодня один товарищ в одном совершенно непрофильном сообществе задал интересный вопрос: как сделать, чтобы колёсико мышки осуществляло  на широком сайте _горизонтальный_ скроллинг?

Я немножко погуглил и сделал так. Может, это как-то проще делается?

На фотографии можно внимания не обращать, я взял первые попавшиеся.

Оригинал этой записи. Комментировать можно тут или там.

Любые материалы из этого блога запрещается использовать на сайте livejournal.ru в любой форме и любом объёме

Monday, February 22nd, 2010 04:29 pm (UTC)
Ну, почитай про DOM уже наконец :)
Примерно так (давно не брал в руки шашек, могу наврать в тонких деталях):

var b = document.getElementByName('body');
if(b.attachEvent) { // Bloody IE
 b.attachEvent(
   'onmousewheel'
   function(ev, data) {
    b.scrollLeft -= data * 30;
    ev.preventDefault();
   }
 );
);
} else if(b.addEventListener) { // Saint w3c
 b.addEventListener(
   'mousewheel', 
   function(ev, data) {
    this.scrollLeft -= data * 30;
    ev.preventDefault();
   },
   false
 );
} else { // Something strange and old
 b.onmousewheel = function(ev, data) {
  b.scrollLeft -= data * 30;
  ev.preventDefault();
 };
}


Во всех случаях кроме W3C приходится делать замыкание, так как this ни в IE ни в Legacy правиьно в обработчикх сообщений не работает.