Javascript style.left 为空字符串

标签 javascript

next.onclick = function() { 
    move('left', li_items[0]);
};

var move = function(direction, el) {
    pos = el.style[direction].split('px')[0];
    pos = parseInt(pos, 10) + 10; 
    el.style[direction] = pos + 'px';
};

我正在使用上面的简单代码来尝试移动一个元素。现在,当我在此断点时,el.style[direction] 的值为:""。所以当我尝试用它做任何事情时,它就坏了。为什么会这样? style.left 不是应该返回一个整数吗?

最佳答案

Why would this be?

大概是因为它还没有被设置成任何东西。

Isn't style.left supposed to return an integer?

没有。它应该返回一个字符串,其中包含直接在元素上设置的 CSS left 属性的值(通过设置 JS 属性本身或使用样式属性)。它不会从级联中获取值,如果值为 0(因为所有其他长度都需要单位),它应该只是一个整数。

参见 How to get computed style of a HTMLElement如果您想获取属性的计算值而不是我在上一段中描述的值。

关于Javascript style.left 为空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10610015/

相关文章:

javascript - 在 Electron 中使用 THREE.js 时,Web 开发工具消失

javascript - 为什么 Gulp 在运行依赖它的任务之前没有完成我的 'clean' 任务?

来自 1 个按钮的 javascript 2 url

javascript - 基于单个/全局搜索输入的切换按钮可见性为空

javascript - JavaScript for 循环

javascript - 输入框的事件处理程序 "Click away"或 "Tab out"

javascript - 在继续通过单独的功能之前等待 AJAX

javascript - 多个系列中的模型?

javascript - Google map API - 格式化的电话号码在侧栏列表中显示为未定义

javascript - 使用 Javascript SDK 从 AWS s3 存储桶获取对象 : "missing credential" error