2015-07-29 4 views
-1

У меня есть этот код:Javascript - с помощью колеса мыши для прокрутки вниз и вверх

F.onmousewheel = function (e) { 
    zoomFactor = {10: 10.1, 10.1: 10.2, 10.2: 10.3, 10.3: 10.4, 10.4: 10.5, 10.5: 10.6, 10.6: 10.7, 10.7: 10.8, 10.8: 10.9, 10.9: 11, 11: 10}[zoomFactor]; 
}; 

Im, используя это с помощью колеса мыши. Когда я прокручиваю вниз и вверх, zoomFactor больше. Но я хочу, чтобы он прокручивался вверх - zoomFactor ниже, и когда прокрутка вниз, zoomFactor может быть больше. Я попытался использовать zoomFactor = {10: 10.1, 10.1: 10.2, 10.2: 10.3, 10.3: 10.2, 10.2: 10.1, 10.1: 10}, но когда я дойду до 10.1 и прокручу снова, его не 10,2, а 10! Я понятия не имею. Пожалуйста, дайте мне знать, как использовать прокрутку вниз и вверх по функциям этого кода! Спасибо!

+0

В объекте имеется несколько аналогичных ключей, только последний ключ стоит. – Teemu

+0

@Teemu Я не знаю, но я использую '10.1: 10}', чтобы вернуть его, когда я прокручиваю. – PepinCZ

+0

'10' - единственное значение для ключа' 10.1' в объекте 'zoomFactor'. Вы должны переосмыслить всю логику. Установка одного и того же ключа в объектном литерале будет одинаковой, если вы сделали 'zoomFactor ['10 .1 '] = 10.2; zoomFactor ['10 .1 '] = 10; '. Последним установленным значением будет значение. – Teemu

ответ

0

Я решаю свою проблему, но есть еще один.

F.onmousewheel = function (e) { 
      if (e.wheelDelta > 0) { 
       zoomFactor = {10: 10.1, 10.1: 10.2, 10.2: 10.3, 10.3: 10.4, 10.4: 10.5, 10.5: 10.6, 10.6: 10.7, 10.7: 10.8, 10.8: 10.9, 10.9: 11}[zoomFactor]; 
      } else { 
       zoomFactor = {11: 10.9, 10.9: 10.8, 10.8: 10.7, 10.7: 10.6, 10.6: 10.5, 10.5: 10.4, 10.4: 10.3, 10.3: 10.2, 10.2: 10.1, 10.1: 10}[zoomFactor]; 
      } 

     }; 

Когда я достиг значения 11 и прокручиваю снова, я получаю ошибку. Есть ли опции для остановки при значении 11?

Смежные вопросы