在angularjs中单击时将div左移

时间:2019-03-18 13:01:26

标签: javascript angularjs

因此,我试图允许用户在angularjs中将div左移或右移。现在我有下面的功能。它可以在第一次点击时起作用,但是它所做的就是切换每次点击,并说leftNaN。我在这里做错了什么?另外,如果有人对此有更好的解决方案,请告诉我。

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 :(得分:0)

因此,仅查看文档,我很快就找到了答案。 Left作为字符串返回,因此我要做的全部工作就是parseInt(left) + 600

答案 1 :(得分:0)

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”之类的值。您需要先将其转换为数字,然后再进行加法或减法。