Javascript-element.style.left返回空白
我在这里的代码是设计为有一个幻灯片菜单拉出来。出于某种原因,我似乎无法获取id为“news”的元素的“left”样式属性。以下是我的javascript:Javascript-element.style.left返回空白,javascript,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 cur
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和ent currentValue变量。CurrentValue为我尝试将其设置为的任何样式属性返回一个空值。如果我这样做:
currentValue = current.style;
然后它输出[ObjectCSS2Properties],我不确定为什么它不说CSS3。无论如何,我完全被难住了,花了一个小时试着调试这个,但没有运气。我可以向您保证,所有代码都运行良好,并且正确链接到DOM。除非您将其定义为内联样式,否则它将无法工作 这意味着你必须:
<div id="news" style="left: 15px;"></div>
为了让它工作
您可以使用类似的方式获取它,否则请看。为什么您希望它有一个
left
样式集?因为我在样式表中给了它一个left值。您的样式表与此无关.style
表示style
html属性中给定的元素样式。但是我发誓,我以前在通过样式表而不是内联应用的属性上使用过.style。啊,现在一切都有意义了!我在笔记本电脑上而不是在web服务器上进行测试,当web服务器运行它时,它会将所有样式表属性附加到HTML文档中。有道理为什么它现在不起作用了!!!嗯,很奇怪,因为我以前用过top,它是在样式表中定义的。啊,现在一切都有意义了!我在笔记本电脑上而不是在web服务器上进行测试,当web服务器运行它时,它会将所有样式表属性附加到HTML文档中。有道理为什么它现在不起作用了!!!