因此,我试图允许用户在angularjs中将div左移或右移。现在我有下面的功能。它可以在第一次点击时起作用,但是它所做的就是切换每次点击,并说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');
}
}
答案 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”之类的值。您需要先将其转换为数字,然后再进行加法或减法。