1
0
mirror of https://github.com/ruanyf/es6tutorial.git synced 2025-05-24 18:32:22 +00:00

Merge pull request #1002 from zhidaoliu/gh-pages

feat: add change theme
This commit is contained in:
Ruan YiFeng 2020-08-29 12:56:33 +08:00 committed by GitHub
commit dd892f89ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 60 additions and 0 deletions

View File

@ -340,6 +340,32 @@ input.searchButton {
cursor: pointer;
}
#theme {
display: none;
position: fixed;
height: 17px;
width: 70px;
top: 70px;
margin-left: 930px;
margin-top: 0px;
color: #FFF;
line-height: 17px;
text-align: center;
font-size: 10px;
border-radius: 5px;
background-color: #AAA;
}
#theme:hover {
background-color: #444;
cursor: pointer;
}
#loading, #error {
display: none;
position: fixed;

View File

@ -22,6 +22,7 @@
<!-- optional -->
<div id="back_to_top">back to top</div>
<div id="edit">edit</div>
<div id="theme">theme</div>
<div id="loading">Loading ...</div>
<div id="error">Oops! ... File not found!</div>
<div id="flip"><div id="pageup">上一章</div><div id="pagedown">下一章</div></div>

View File

@ -4,6 +4,7 @@ var ditto = {
sidebar_id: "#sidebar",
edit_id: "#edit",
back_to_top_id: "#back_to_top",
theme_id: "#theme",
loading_id: "#loading",
error_id: "#error",
@ -11,6 +12,7 @@ var ditto = {
sidebar: true,
edit_button: true,
back_to_top_button: true,
theme_button: true,
save_progress: true, // 保存阅读进度
search_bar: true,
@ -58,6 +60,10 @@ function initialize() {
if (ditto.edit_button) {
init_edit_button();
}
if (ditto.theme_button) {
init_theme_button();
}
// page router
router();
@ -133,12 +139,39 @@ function searchbar_listener(event) {
*/
}
function init_theme_button() {
$(ditto.theme_id).show();
// 默认主题
var currFontColor = localStorage.getItem('fontColor') || '#0d141e';
var currBgColor = localStorage.getItem('bgColor') || '#ffffff';
$('body').css({
color: currFontColor,
backgroundColor: currBgColor
})
$(ditto.theme_id).on('click', changeTheme);
}
function init_back_to_top_button() {
$(ditto.back_to_top_id).show();
$(ditto.back_to_top_id).on('click', goTop);
}
// 改变主题
function changeTheme() {
var fontColor = localStorage.getItem('fontColor') || '#0d141e';
var bgColor = localStorage.getItem('bgColor') || '#ffffff';
var fontColors = ['#0d141e', '#020000', '#020702', '#d0d3d8'];
var bgColors = ['#ffffff', '#f6f0da', '#c0edc6', '#1f2022'];
var currIndex = bgColors.indexOf(bgColor);
var nextIndex = (currIndex + 1) >= bgColors.length ? 0 : currIndex + 1;
$('body').css({
color: fontColors[nextIndex],
backgroundColor: bgColors[nextIndex],
});
localStorage.setItem('fontColor', fontColors[nextIndex]);
localStorage.setItem('bgColor', bgColors[nextIndex]);
}
function goTop(e) {
if(e) e.preventDefault();
$('html, body').animate({