Сдвиг div влево по клику в angularjs - PullRequest
0 голосов
/ 18 марта 2019

Поэтому я пытаюсь разрешить пользователю сдвигать div влево или вправо в angularjs.Прямо сейчас у меня есть функция ниже.Он работает по первому клику, но все, что он делает, это переключает каждый клик и говорит, что left - это NaN.Что я здесь не так делаю?Также, если у кого-то есть лучшее решение для этого, пожалуйста, дайте мне знать.

vm.scrollSelector = function(e, direction) {
    var target = document.getElementById('item-selector');
    var left = target.style.left;

    if(direction === 'left') {
      left += 600;
      target.setAttribute('style', 'left: ' + left + 'px');
    } else {
      left -= 600;
      target.setAttribute('style', 'left: ' + left + 'px');
    }
}

Ответы [ 2 ]

0 голосов
/ 18 марта 2019

vm.scrollSelector = function(e, direction) { var target = document.getElementById('item-selector'); var left = target.style.left.match(/\d+/); left = parseInt(left[0], 10) if(direction === 'left') { left += 600; target.setAttribute('style', 'left: ' + left + 'px'); } else { left -= 600; target.setAttribute('style', 'left: ' + left + 'px'); } }

Сначала попробуйте посмотреть, какое значение target.style.left возвращает.Это может быть возвращаемое значение типа «10px».Вам нужно сначала преобразовать это число, затем выполнить сложение или вычитание.

0 голосов
/ 18 марта 2019

Так что я быстро нашел ответ, просто посмотрев документы. Слева возвращается в виде строки, так что все, что мне нужно было сделать parseInt(left) + 600, и это сработало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...