我在这里的代码被设计成有一个幻灯片菜单。出于某种原因,我似乎无法获取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以类似的方式获取它,否则请查看此响应。