Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Перевести код для мобильного устройства


Автор: Voldemar2004 25.4.2016, 22:23
Код работает в настольных браузерах, на мобильных уже не работает, попробовал перевести события

mousedown === touchstart
mousemove === touchmove
mouseup === touchend

не помогло. Что ещё может быть ?

Код

    var sliderElem = document.getElementById('slider');
    var thumbElem = sliderElem.children[0];
    
    thumbElem.onmousedown = function(e) {
        
      var thumbCoords = getCoords(thumbElem);
      var shiftX = e.pageX - thumbCoords.left;
      var sliderCoords = getCoords(sliderElem);

      document.onmousemove = function(e) {
        var newLeft = e.pageX - shiftX - sliderCoords.left;
      };

      document.onmouseup = function() {
        document.onmousemove = document.onmouseup = null;
      };

    };

    thumbElem.ondragstart = function() {
      return false;
    };

    }

Автор: Voldemar2004 26.4.2016, 16:21
Определим например iPad, далее по аналогии делаем как для декстоп-приложения (события меняем на ontouch)

Код

    if (/iPad/i.test(navigator.userAgent)) {

        var sliderElem = document.getElementById('slider');
        var thumbElem = sliderElem.children[0];
        thumbElem.ontouchstart = function (e) {
        };

        thumbElem.ontouchend = function (e) {
        };


        thumbElem.ontouchmove = function (e) {
        };
     }

Автор: hrdwrks 28.4.2016, 00:49
Модератор: Сообщение скрыто.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)