Javascript 当检测到特定类时(滚动时),如何隐藏/显示div?

Javascript 当检测到特定类时(滚动时),如何隐藏/显示div?,javascript,html,css,Javascript,Html,Css,我有一个粘滞的标题,向下滚动后会得到一个额外的。标题已滚动类。我想在向下滚动时更改标题中的徽标 以下是我的简化HTML: <header class=".header-sticky"> <div class="logo1"> <img src="../image1.jpg"> </div> <div class="logo2"> <img src="../image2.jpg"> </d

我有一个粘滞的标题,向下滚动后会得到一个额外的
。标题已滚动
类。我想在向下滚动时更改标题中的徽标

以下是我的简化HTML:

<header class=".header-sticky">
  <div class="logo1">
    <img src="../image1.jpg">
  </div>
  <div class="logo2">
    <img src="../image2.jpg">
  </div>
</header>


如何才能使整个
中检测到标题滚动的
类,并在滚动后标题中相应的类出现时反向隐藏
和显示

.logo1 { display: block; }
.logo2 { display: none; }

.header-scrolled .logo1 { display: none; }
.header-scrolled .logo2 { display: block; }

顺便说一句:它看起来像你的
。header sticky
类属性应该在你的HTML中
header sticky
(前面没有点)。

通过使用CSS,无需使用JavaScript:

.logo1 { display: block; }
.logo2 { display: none; }

.header-scrolled .logo1 { display: none; }
.header-scrolled .logo2 { display: block; }

顺便说一句:它看起来像你的
。header sticky
类属性应该是HTML中的
header sticky
(前面没有点)。

你可以使用css通过元素各自的类来定位元素,从而在元素上显示

请参见下面的工作示例:

constchangeclass=function(){
让elem=document.getElementsByClassName('header-sticky')[0].className=“header-scrolled”;
}
.header sticky.logo1{
显示:块;
}
.header粘性。logo 2{
显示:无;
}
/*当标题粘性更改为标题滚动时,更改周围的显示*/
.标题已滚动。logo1{
显示:无;
}
.标题已滚动。徽标2{
显示:块;
}

更改为滚动

您可以使用css通过元素各自的类来定位元素,从而在元素上显示

请参见下面的工作示例:

constchangeclass=function(){
让elem=document.getElementsByClassName('header-sticky')[0].className=“header-scrolled”;
}
.header sticky.logo1{
显示:块;
}
.header粘性。logo 2{
显示:无;
}
/*当标题粘性更改为标题滚动时,更改周围的显示*/
.标题已滚动。logo1{
显示:无;
}
.标题已滚动。徽标2{
显示:块;
}

更改为滚动

您用JavaScript标记了它,所以我假设您已经在使用它添加/删除
标题scolled
类了?您也可以使用相同的代码来显示/隐藏这些徽标div。请将你的JS添加到问题中。你用JavaScript标记了它,所以我假设你已经在使用它添加/删除
标题scolled
类了?您也可以使用相同的代码来显示/隐藏这些徽标div。请在问题中添加您的JS。