Javascript-element.style.left返回空白



我在这里的代码被设计成有一个幻灯片菜单。出于某种原因,我似乎无法获取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);
}

注意我在哪里设置了current和nt currentValue变量。CurrentValue为我尝试设置的任何样式属性返回一个空值

currentValue = current.style;

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

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

这意味着你必须拥有:

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

以便它工作。

您可以使用offsetLeft以类似的方式获取它,否则请查看此响应。

最新更新