Deprecated: mb_substr(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/kxs-php/controllers/NovelController.php on line 303
第20章 - 魔女与魔术师 跳转到主要内容

第20章

作者:渊明源
(�/�d��n*��'?@ �hI�{�u�Z\�%��h�ö�a��m��+����f�{�Z�V�z�� àE�.2����<�Rnbl>+��G��\��)!W�?�s8������G�Q��9�Gc�O̱�9����)�ki�nF0�:��iM��Tq�5�n@Zu)����;5� Rܐ���W!�Fq���&����b�K*�����6ޓ��Ї�:� �h���]]Iu��#�Sȳ��rD��*�f�����o���\N����ۼ����3b�1�K�-�`�е�rXz �=^�ݠљ����T,!4���l�x5(�bijh�D� .WmOCw�Jw3��zLqE��#����<�ty ��X�V[Rdb>XXHOC�.-��mN�b�Q<�pG���,�(�m�U��� �2�nFpbi������/"����`a9Ѹ����p�!AZ�g.?����DD:��A�g�U�f�%i�.���A ����G�j#�����i�nFX�ռ��;"����~C�_S�Lh\L���ß��4T!E�+����t}���=� 9�����!E���`ڂ!A ���!{)�-)R�BZ!I��!���/W�^��؍0H*���'�-�gePC3����� P 1,؏h���K���m�]CWR��&���?�nT�.j�|�p�X:,g��D�'�A�{�R��|��#k�� ����܎�rV=�?*+L�T���r�*kjya9|4c�0m�|h�j�?@�(�j�T,I ]�H*�!�E �1�ZT�!G.�h�h8���0�F�ԗ�ZܟBvX�t=z��}չӗ���Ųe���f �(Nw3��͐]�������R��^��nF`�ː����7��%d��Xf�+$����8��2ˎmOCk^��������W��Y��~�"�Fe Ȋy�y-�Ͱ^����fU�����Б��''2(A�s3�C4��K!�Mҳ��9�q3bi�a�]�&�����b�#Q$i*���7�[�{zvb\ ���Wm�t�/���+�NmN��?� �l�e4W�&�m��8�����Y�����-�/��|����i����?��^kP����e���^yV��zV��O�/T|a�T!Ow��!{'�~X�Έe%� �6}W#���c��^��w3����>�p�XRhOFS����b�� ٧TnT6}��\�b�Ž�2�؛�C�&]��|F,!��(�̐ � YI�Ȼ�x��}��i4��ɨ!��K��7�3� l @���e�x;��|wb��� l��<3�Oך����s攐O�f��S� �\���� u ��L� 6]u�Ƕe���!{39���Iu?]o�[__:����'捆W�k����LC�n��)��GW��(x���?]7��2��p�x ����  � &��8�d ��b#M��F �n����w"}�<�Ĉ�Kal��uM��Nͮ��UcRL�R����A�%����{XX�8x���Fezr��ѥiB�/5���fdn� ˘�r��`\�,������ �Es"CZ�H*�%��U��K�ՠ�e��F7�2�k� �7�g�r�YN!m~ I�π�y͠b��T,���]M���x�z�O��݌�`<�u����ë��G.o�A}b��hI�R��.�MȐ� �>���5�xĺ&?���qG���k�V�K��Z� �-�3tވ�{�����>Y�I��rg�?]SB�ۅ�V�c���[� �Kz�e����S��&��c���Qg�-���EF=*���@��If ������\P�����K7D�u��d�+�?0._"�&~��(�lќ�?�O�g ��`\~�#S�ۮ-�`cK��SB�T�<��f��ѥ�l+w(��6��Zf�B�d}js���I��@D �M�� �qk��t3�kq�m�A1���bkb3�|��Բ��S� K?�.�)�К*��ӄ�\����L��2HB�����a Q1 @D1Ũ��`pY-�!�!��@�����i���H���9�w��vEy���6���s|�]t�?�'y�BZpV5"h��ʹ�^���� E_A"Q/��.MK�Xku��+�:=c�C��G�#vۢ RS��� ��hgW ������_��F�� ����M�D5��5�%�(�|����$l���;Ec0�&�Y��pn���sj��=-�0��X� [3��X��ֱ��B%h>V���f��EJR:�B*@���1��=z��V�����"��e�����Wz��`_������)Ln��"�Q1i0\~���&�2A�����(߷�vO�ątC+2h����q�h�>-\�������w6a��� ����I>(��"��N��J�g�rd��+�Mɴ��Ǟ!t3j��`��`�k�@*���ۑQ�υs��/`(`�P� xҬ�m'�� ��ZJk�t+���|Xc"/��(S�E�]��N�' )ԑ�R�K6��i�<��#&�<�"��F�_�=M���լ��� { // 初始化认证状态 initAuthState(); // 注意:阅读历史已由reading_history.js自动处理,无需手动调用 const themeToggle = document.getElementById('theme-toggle'); const themeToggleIcon = document.getElementById('theme-toggle-icon'); const html = document.documentElement; // 检查本地存储中的主题偏好 const currentTheme = localStorage.getItem('theme') || 'light'; html.classList.add(currentTheme); // 更新图标 if (themeToggleIcon) { themeToggleIcon.className = currentTheme === 'dark' ? 'ri-moon-line text-xl' : 'ri-sun-line text-xl'; } // 切换主题 if (themeToggle) { themeToggle.addEventListener('click', () => { const isDark = html.classList.contains('dark'); if (isDark) { html.classList.remove('dark'); html.classList.add('light'); localStorage.setItem('theme', 'light'); if (themeToggleIcon) { themeToggleIcon.className = 'ri-sun-line text-xl'; } } else { html.classList.remove('light'); html.classList.add('dark'); localStorage.setItem('theme', 'dark'); if (themeToggleIcon) { themeToggleIcon.className = 'ri-moon-line text-xl'; } } }); } // 字体大小调整 const content = document.querySelector('.reading-container'); const fontDecreaseBtn = document.getElementById('font-decrease'); const fontIncreaseBtn = document.getElementById('font-increase'); const readingModeBtn = document.getElementById('reading-mode'); const addBookmarkBtn = document.getElementById('add-bookmark'); // 从本地存储获取字体大小设置 let fontSize = parseInt(localStorage.getItem('fontSize')) || 18; content.style.fontSize = `${fontSize}px`; // 减小字体 fontDecreaseBtn.addEventListener('click', () => { if (fontSize > 14) { fontSize -= 1; content.style.fontSize = `${fontSize}px`; localStorage.setItem('fontSize', fontSize); } }); // 增大字体 fontIncreaseBtn.addEventListener('click', () => { if (fontSize < 26) { fontSize += 1; content.style.fontSize = `${fontSize}px`; localStorage.setItem('fontSize', fontSize); } }); // 阅读模式切换 readingModeBtn.addEventListener('click', () => { document.body.classList.toggle('reading-mode'); if (document.body.classList.contains('reading-mode')) { // 隐藏导航和其他元素,只显示内容区 document.querySelector('header').style.display = 'none'; document.querySelectorAll('.section-container > *:not(main)').forEach(el => { el.style.display = 'none'; }); document.querySelector('main').classList.add('reading-mode-active'); document.querySelector('.fixed.bottom-0').style.display = 'none'; // 隐藏移动端底部导航 } else { // 恢复正常显示 document.querySelector('header').style.display = ''; document.querySelectorAll('.section-container > *:not(main)').forEach(el => { el.style.display = ''; }); document.querySelector('main').classList.remove('reading-mode-active'); document.querySelector('.fixed.bottom-0').style.display = ''; // 显示移动端底部导航 } }); // 书签功能 addBookmarkBtn.addEventListener('click', () => { const bookmarks = JSON.parse(localStorage.getItem('bookmarks') || '[]'); const currentBookmark = { novelId: 'monvyumoshushi', chapterId: '61407075', novelTitle: '魔女与魔术师', chapterTitle: '第20章', timestamp: new Date().toISOString() }; // 检查是否已存在相同的书签 const exists = bookmarks.some(bookmark => bookmark.novelId === currentBookmark.novelId && bookmark.chapterId === currentBookmark.chapterId ); if (!exists) { // 限制书签数量为10个 if (bookmarks.length >= 10) { bookmarks.pop(); // 移除最旧的书签 } bookmarks.unshift(currentBookmark); // 添加到最前面 localStorage.setItem('bookmarks', JSON.stringify(bookmarks)); // 显示成功提示 alert('书签添加成功'); } else { alert('书签已存在'); } }); });

看小说网

看小说网是您最喜欢的免费小说阅读网站。提供海量全本小说免费阅读,所有小说无广告干扰,是您值得收藏的小说网站。

© 2023 看小说网 版权所有