【发布时间】:2022-03-10 12:10:53
【问题描述】:
我按照教程使用 Alpine js 在我的网站上放置了一个暗模式切换器。它工作得很好,但每次用户刷新页面时,他们都需要再次选择暗模式选项。我在网上搜索,发现 Persist Plugin 似乎是一个解决方案,但是,我没有任何专业背景,只有按照在线教程构建我的网站的经验,所以我无法真正让它工作。谁能帮我这个?非常感谢:)
以下是我使用的教程代码,它来自 Oxygen Builder 教程:
<script src="//unpkg.com/alpinejs" defer></script>
<style>
.darkmode-switcher {
width: 64px;
height: 32px;
border-radius: 80px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: flex-start;
padding: 2px;
cursor: pointer;
background-color: #191919;
transition: 0.3s all ease-in-out;
}
.darkmode-switcher__circle {
width: 28px;
height: 28px;
border-radius: 80px;
background-color: white;
transition: 0.3s all ease-in-out;
}
</style>
<div class="mode-switcher" x-data="{ darkMode: false, switchMode: function() { this.darkMode = !this.darkMode } }">
<div class="darkmode-switcher" @click="switchMode()">
<div class="darkmode-switcher__circle"></div>
</div>
<template x-if="darkMode">
<style>
.darkmode-switcher {
background-color: white;
}
.darkmode-switcher__circle {
background-color: black;
transform: translateX(32px);
}
.content-wrapper {
background-color: black;
}
.content {
color: white;
background-color: #191919;
}
body {
background-color: black;
}
</style>
</template>
</div>
【问题讨论】:
-
您可以通过使用本地存储来实现这一点。您可以将暗模式值存储在本地存储中并从那里获取。
-
谢谢 Gulshan,你能帮我分享一下代码吗?由于我真的不知道如何做到这一点,只是在互联网上搜索并且没有足够的教程供我学习,非常感谢。
-
我从未与 Alpine 合作过,但我很确定它会奏效。如果这可以帮助你,我正在分享 stackoverflow 链接。 stackoverflow.com/questions/66838886/…
-
太棒了!谢谢 Gulshan,这个链接很有帮助,我遵循了解决方案,现在它似乎在我的网站上工作。非常感谢您的帮助:)
-
永远欢迎你!
标签: javascript alpine.js