Javascript - element.style.left 返回空白

标签 javascript

我的代码设计为拉出幻灯片菜单。由于某种原因,我似乎无法获取 id 为“news”的元素的“left”样式属性。这是我的 JavaScript:

var current;
var currentValue;
var motionDir = 1;
window.onload = slide;
function slide() {
    current = document.getElementById('news'); //returns HTML Object div
    currentValue = current.style.left; //returns blank
    function move() {
        if(motionDir == 1) {
            if(currentValue !== '0%') {
                currentValue = parseInt(currentValue.substring(0, currentValue.length - 1)) + 2;
                current.style.left = currentValue + '%';
            } else {
                clearInterval(intervalID);
            }
        } else {
            if(currentValue !== '-50%') {
                currentValue = parseInt(currentValue.substring(0, currentValue.length - 1)) - 2;
                current.style.left = currentValue + '%';
            } else {
                clearInterval(intervalID);
            }
        }
    }
    var intervalID = setInterval(move, 20);
}

注意我在哪里设置了当前和当前值变量。对于我尝试设置的任何样式属性,CurrentValue 都会返回一个空白值。如果我这样做:

currentValue = current.style;

然后它输出 [OBbject CSS2Properties],我不确定为什么它没有说 CSS3。不管怎样,我完全被难住了,花了一个小时尝试调试这个,但没有运气。我可以向您保证所有代码都运行良好并且正确链接到 DOM。

最佳答案

除非您将其定义为内联样式,否则它不会起作用。

这意味着您必须:

<div id="news" style="left: 15px;"></div>

为了让它发挥作用。

您可以使用offsetLeft以类似的方式获取它,否则请查看 this response .

关于Javascript - element.style.left 返回空白,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26416227/

相关文章:

javascript - 使用 angular $http.get 从服务器下载文件

javascript - Google Chrome - 在不需要时提供翻译

javascript - 使用“添加用户”按钮添加 HTML 字段

javascript - 有人愿意看一下这个自定义滚动条的 JS 代码吗?

javascript - 将 html 标签添加到文本区域中选定的文本。为什么 "if(' SelectionStart' in textarea)"需要在那里?

javascript - 如何在 JavaScript 中创建类似 IRC 的控制台

javascript - Resig的JS继承脚本...父类的属性被覆盖

javascript - 如何在 json 请求中放置变量

javascript - 有没有更快的方法来搜索表中的值?

javascript - d3 读取数据列表语法