更改样式的简单Javascript不起作用
下面是一个小代码示例:更改样式的简单Javascript不起作用,javascript,css,Javascript,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) {
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行(第一个“宽度”)中缺少“;”,但我不知道它到底属于哪里。我试图通过每次都使用getElementById而不是使用var来解决这个问题。不适合我。此外,我还试着注释了我设计标志的线条,其余的线条都很完美。我就是找不到问题:(请帮忙
PS:如果你认为这太容易了,也不要生我的气。我对JS是个新手。而且我不是以英语为母语的人,所以请原谅我(缺少)英语技能;)
谢谢,迪亚沃
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);
对于任何样式属性,只有在使用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";
}
将
:
替换为=
为什么在一种情况下使用=
,而在另一种情况下使用:
?你不认为操作是相似的,它们都应该有一种语法吗?谢谢:)我知道这很简单。有时候你就是看不到最明显的东西汉克斯:)我知道这很简单。有时候你就是看不到最明显的东西汉克斯:)我知道这很简单。有时候你就是看不到最明显的东西呜呜!那太尴尬了。谢谢你友好的回答:)你永远找不到最明显的东西:欢迎你@Diavo