如何在javascript中更改滚动时的背景颜色

石膏

我正在本地主机上的 wordpress 网站上工作,并为自定义 javascript 使用插件脚本和样式。我想在滚动值更改时更改背景颜色,例如

滚动值 0-100 然后颜色为红色

滚动值 100-200 然后颜色为蓝色

滚动值 200-300 然后颜色为粉红色

滚动值 300-400 然后颜色为黑色

滚动值 400-500 然后颜色为橙色

通过这段代码,我只能在 javascript 的第一个条件中添加一个类。

.site-main{
background-color:green !important;
}
.scrolled1{
background-color:yellow !important;
}
.scrolled2{
background-color:pink !important;
}
.scrolled3{
background-color:black !important;
}
.scrolled4{
background-color:orange !important;
}
.scrolled5{
background-color:red !important;
}

<script>
alert("success");
window.onscroll = function() {myFunction()};

function myFunction() {
if((document.body.scrollTop > 0 || document.documentElement.scrollTop > 0) && (document.body.scrollTop < 100 || document.documentElement.scrollTop < 100)){

document.getElementById("main").className = "scrolled2";
    }

else if((document.body.scrollTop > 100 || document.documentElement.scrollTop > 100) && (document.body.scrollTop < 200 || document.documentElement.scrollTop < 200)){

document.getElementById("main").className = "scrolled3";
    } 
  else {
        document.getElementById("main").className = "site-main";
    }
}
</script>
伊琳娜·波塔波娃

请检查一下。如果您需要#main在页面加载时显示绿色,只需.site-main在 html中将添加到您的 div 中。

window.onscroll = function() {myFunction()};

function myFunction() {
	var scrollTop = document.body.scrollTop || document.documentElement.scrollTop;
  var elem = document.getElementById("main");
  
  if (scrollTop > 0 && scrollTop < 101) {
  	elem.className = "scrolled5";
  } else if (scrollTop > 100 && scrollTop < 201) {
  	elem.className = "scrolled6";
  } else if (scrollTop > 200 && scrollTop < 301) {
  	elem.className = "scrolled2";
  } else if (scrollTop > 300 && scrollTop < 401) {
  	elem.className = "scrolled3";
  } else if (scrollTop > 400 && scrollTop < 501) {
  	elem.className = "scrolled4";
  } else {
  	elem.className = "site-main";
  }
}
.site-main{
background-color:green !important;
}
.scrolled1{
background-color:yellow !important;
}
.scrolled2{
background-color:pink !important;
}
.scrolled3{
background-color:black !important;
}
.scrolled4{
background-color:orange !important;
}
.scrolled5{
background-color:red !important;
}
.scrolled6 {
  background-color: blue !important;
}
<div id="main" style="height: 10000px;"></div> <!-- temporary height -->

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在JavaScript中更改背景颜色?

如何在 angular 11 中更改滚动时的粘性标题背景颜色

滚动时如何更改背景颜色?

如何在 React 中滚动时更改背景视频?

在相同颜色的背景上滚动时如何更改textView的颜色?

如何在滚动条上更改背景颜色(JavaScript,jQuery)

滚动时如何更改导航栏背景颜色?

如何在JS中更改背景颜色?

如何使用vanilla Javascript更改滚动标题的背景颜色

滚动时更改徽标div背景颜色

滚动时更改导航栏的背景颜色

页面滚动时更改标题背景颜色

如何在react.js中更改滚动时的文本颜色

如何在悬停时更改td的td背景颜色

如何在单击按钮时更改按钮的背景颜色

如何在单击时更改Jbutton的背景颜色

Angular2如何在拖放时更改背景颜色

如何在单击按钮时更改按钮背景颜色

如何在单击时更改按钮的背景颜色

Xamarin Forms:如何在 Plugin.MediaManager.Forms 中播放音频时更改背景颜色?

如何在聚焦时更改背景颜色,未聚焦或颤动中的字段为空

如何在显示时更改背景颜色,具体取决于 Angular 中的对象属性

鼠标悬停时如何在WPF中更改背景前景和边框颜色

如何在不影响滚动条颜色的情况下更改QScrollArea的背景颜色?

Android如何在Spinner中更改滚动条颜色

如何在Android Studio中更改滚动限制的颜色

如何在Firefox中更改滚动条的颜色?

如何在ScrollView android中更改实际滚动的颜色?

如何在 iOS 中的 webview 中更改按钮的背景颜色