javascript - Javascript:如何单击按钮,显示某些内容,然后再次单击并返回默认值?
问题描述
我有一个小问题:我有一些使用 CSS 样式的 HTML 内容。我在 JS 中创建了一个函数,当我单击一个按钮时,内容会被修改。我希望再次单击按钮并显示默认内容(HTML + CSS),某种“回归基本”。在不使用 CSS 创建类并使用切换或不刷新页面的情况下,这样做的方法是什么?很简单:点击 --> 出现在 JS 中所做的更改,再次点击 --> 消失在 JS 中所做的更改。谢谢!
var switchStatus = false;
$("#switch-button").on("click", function() {
if(switchStatus === false) {
$("body").css("background-color", "white");
$("h1").css("color", "#24242e");
$(".followers").css("color", "#67627b");
$(".switch-text").css("color", "#67627b");
$("#switch-button").css({
"background-color": "#252b43",
"color": "lightgrey"
}).text("Dark Mode");
$(".my-card").css("background-color", "#f0f3fa");
$(".card-user").css("color", "#252b43");
$("h5").css("color", "#252b43");
$("h2").css("color", "#252b43");
$(".secondLineCard").css("background-color", "#f0f3fa");
$(".small-card-actions").css("color", "grey");
$(".small-card-number").css("color", "#24242e");
switchStatus = true;
} else if(switchStatus === true) {
//What piece of code should I put here to get back to normal content without refreshing the page?
}
});
解决方案
这就是你想要做的。
let switchStatus = true;
$("#switch-button").on("click", function () {
if (switchStatus === false) {
$("body").css("background-color", "white");
switchStatus = true;
} else if (switchStatus === true) {
$("body").css("background-color", "blue");
switchStatus = false;
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<button id="switch-button">switch</button>
</body>
更好的方法是使用 css 类toggleClass()
$("#switch-button").on("click", function () {
$("body").toggleClass("color");
});
.color {background-color: coral;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<body>
<button id="switch-button">switch</button>
</body>
推荐阅读
- python - 在python中用igraph或networkx用字典绘制图形?
- spring - 与json一起传输文件的最佳方式是什么
- python - Tensorflow 不适用于 cudnn 问题
- flutter - 在flutter中使用assets_audio_player的平台异常错误flutter
- amazon-web-services - 如何将 Amazon Lex 与 8thwall 集成
- mysql - Mysql 和西里尔字符
- r - 检索指定包列表的 .tar.gz 文件
- sql - Redshift:将每个查询的结果列链接到一个表中
- javascript - 无法通过数组中的多个条件进行过滤
- semantic-ui - 如何将语义图标字体设置为显示交换