下面是一小段代码示例:
var moving_nav = document.getElementById("moving_nav");
var logo = document.getElementById("logo");
setInterval(function(){
var scrolled = window.pageYOffset || document.documentElement.scrollTop;
if ( scrolled >= 100) {
moving_nav.style.position = "fixed";
moving_nav.style.top = "0";
logo.style.width:"60px";
logo.style.height:"60px";
}
else {
moving_nav.style.position = "absolute";
moving_nav.style.top = "100px";
logo.style.width:"120px";
logo.style.height:"120px";
}
}, 10);
它的目的是使我的菜单粘,当你滚动它。这工作得很好:)。但后来我希望我的标志也能改变。这就是它停止工作的地方。(就在我加入了出现"logo"的行之后)
浏览器控制台说有一个缺失的";"在第9行(第一个"宽度"),但我不知道它到底属于哪里。我试图通过不使用var来解决问题,但实际上每次都使用getElementById。对我来说没用。此外,我试着注释出我的标志样式的线条,其余的工作完美。我就是找不到问题:(请帮帮我!
如果你认为这太容易了,也不要生我的气。说到JS,我还是个新手。此外,我的母语不是英语,所以请原谅我的(缺失的)英语技能;)谢谢,Diavo
对于任何样式属性,您只能在使用js时使用=
。当使用css时,你必须使用:
if ( scrolled >= 100) {
moving_nav.style.position = "fixed";
moving_nav.style.top = "0";
logo.style.width = "60px";
logo.style.height = "60px";
}
else {
moving_nav.style.position = "absolute";
moving_nav.style.top = "100px";
logo.style.width = "120px";
logo.style.height = "120px";
}
替换 :
与 =
logo.style.width="60px";
logo.style.height="60px";
不是 logo.style.width:"60px";
logo.style.height:"60px";
您用:
代替=
,我们在css中使用:
var moving_nav = document.getElementById("moving_nav");
var logo = document.getElementById("logo");
setInterval(function(){
var scrolled = window.pageYOffset || document.documentElement.scrollTop;
if ( scrolled >= 100) {
moving_nav.style.position = "fixed";
moving_nav.style.top = "0";
logo.style.width="60px";
logo.style.height="60px";
}
else {
moving_nav.style.position = "absolute";
moving_nav.style.top = "100px";
logo.style.width="120px";
logo.style.height="120px";
}
}, 10);