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
第 15 章 - 恐同者恋爱实录 跳转到主要内容

第 15 章

作者:葡萄灰
(�/�d�'���"]6C �*��sެ~�Ȓ��"C���1i��)C�dQ�� ^�D�갡�"Q�=��J9b@!PTN�2k^#6"~�uO��K`;������R�Aw.�3B��R��� Nvh����`���Ś�`Cސy�~������F��;T^H0�2��m7 >�^�s�O/}_�8#ė�:���+��.��ߴ��4���x~� 1;_��.�綖�e<��E_�./n@�����;�Vh�ğ�y��A`wU��WZk׵�[�l� ���Z��}@���M�pI��x"6y���񼐘b�b�c� �"a*bK��}�2ʢL/����:��L�����£�M�.���imkۤ¬(2C����6d��K;�����s�̌S���t�|R����'Gk��!�����I8��g���S���C4�*g��s9hT}��:�$N����$�ϨC�2}�zR�rK�x~L���}��b�(3B|]lU��I)3�~[x�> Ƴ�t�iK��9Z���<���f�z�eVM!̮��:���O���x�k���W��`e��z�<��!�EtX��7�!�\\�3!��ⅅ���Sz�� h x����g"8�2j���S�$�+��Z�8Ӂs��Ibp���b���:h�*3B�@j��Q�~����:��L[�Tg�3B^��O/�h9_�t���4����H|�P�SeN��u�O��:���/,z(6�s2�Q&I��+�[���}UZ�ĿDL*ez1�ëA]�S�:u9'S�س���ī�C���}g��R}q�@�s�� |�^ę��ᓓ���I|,�6 `8� ��z?a�(Ӎ�+�9�>u#5(�SX�(�`e� �S��գ}�=�z�C���Cb���P� 6d�-� Vmy~!��~���gc��\`�V��6���ňMI�"56u�Y�g��W4��_y�ɋ��gԤc3. �$�`��ԝ�� �r���G�YY��~p�>X��y��p��p(k�/�nY�2}a~a>jȌk^�#^(|�h�(/�\�+�cn��� a�Z#�O��v��˘�2��-�3 55tlؤ�c�Խ(ӕ2�/7<��"aF� ��66uO�Lg6hݠ��hR�s�ߐ�!b�ñ���xR���d-ix��%Ĭ� .2�^�~� �]��b�'qI�3Ol��d���Ř��X���.�U��2�a�+vP�*Gl�� H_�a&`�Z捋C�6Xp��u<!�c#p�̍���A�eb��1�i�a� �!�u<<�n�s�� �!�į� b��@���� � �/��>P�' ڶ$���.�4Z�y�3�x�)_�=j��bn⏰C ��Me�A���*���ؚ�Ck�� Y�0'eG>��W`m�M���F��?��Q�'3BR8��=���bZj�u���([�O�S�Q�O�"��{>ϓ �S�J}�#z�����#"mg�_8�$^`2)�u�*w#f�S�ՠ?2��VL\1��olF]*]q���J�(���5_~�}!��� ��j1X�O��<���*!��������2K,O��^lY���=u����yo��xzn[_-���2V06�ùRc�[�\�0��f9��r���?�c���P�� �ހ4�s��� *_�O�#؆T�N�z�`��%���.�,�Pж��L|�b�ѫ�d杋5"�ֈC������nċR�� t�Bh�&����HOݓ���x.���!/4�k�>t � hKF ٺ<"��m���Wb��E�C?U�ҡ2�5h[1qjsR�-����T8� ���5�on��B�5ﺌx��Vf۠m��&g�W��I$e�x�`="��G� ��¶�c<�����%�\8d��[֧L��~$�\�i�#"N�����>�� �@ X@� z�"0� �@ $��$Ѝ'��іLc�_k�yY^�Fl2cB;q��/�/�!X;�ֈ�b� � �����P��31�����Rҥ�-�c�3A�[�5o8d�� ���(\C���Z����7q��2M�y�0����e��<;,��F•f,�x�b�AV��8MG�:�az(\[�@Vo�F��x:0��(�z��&I�����H��� ���/P���o�8h+���-��~�:"�Ч1F[�;b� Z���6v1�0G�o߹�b����u�Ԓ��i����$'_��W�+�$�O� �N�[�Z�S�^�d_�FyԐi�̚�?���V�e����/��k!a�'�W��`����5d�J��zD��2O|q�T�'[&�H�Re�8������d����LNK����(�i��Y�3�Z��R��#���"���E��z��M�_@b�07 ��m����-G����4��R�����qq����/�C��"QV�́����x�}A�/�;Yg�er�bos[s���OSs�~��(�[? ��T��:�`���(�GDL�'}]���B�!^ �ha�-����bm�(_H�}yR�j��A�.��I�O�'���d��I�y�/�#5 Gl�e�d}��Bz��1�:q=�hJ7��ey՚��xv��J�z���MD����IE�}y,�>�],�2b6���j�0�U��+d�6ىM�gp8�Z~�^L�x��S�`�R&&��'�תPd��s��`� �7�5O#h�>S�L,8�1R���u�e�C�#�"cWYk$,�2̟Ļ�C�R8v1xyE�u<7�;���:� �O�.�..�҇P�q��*�� �!�F��4 " �����`!!De  @ a � C�@5�0V�~1��HP*�y�oZp�c|&h�����K'eGY ����&��; ��(Խ�*f�N[H�p!�&)gqwg��lIa(zgr����R�E׫��ہ,d���ݥ7��u����"FP|��[O�aST�[_���숳���.�-.:6Kg��F���$��mW���r���&ؕԶ���x2+�G0.*r�N� �ԍpHlߓ�`1L�I���������� �EQˎV(-�w�lB��A|봢�Oj Go M��A�����Ԃ���6i�8D�X�M ��;�8��z����NJ�'�t‰�����i���VT`��G`S���4H�0��;R��y����y�f�v ��4O��wLXI��A� thf���O*�\�"L���ћ�鑎9��.��W�� ��@�ߔ�w!] -VƯ���L�������a���ؓ�T>��0C% ���@��z�2�b�5��'���(S'���R=�9,06<�>�Cj���.)�?��!�+��� F7�L�VI����Q`v�0�~ t��̍�B��a@$�&ؕ��u�[������Ԑ~�� v�FX�pǽ"����m Ә�L�,Ӎ?#�NpL�TF2k����蔀�#�G�&���.�@�HF\�?���=�jnX9X"� �2"���׀d+2�vq#�X�k����_^���L7Jc��\6�f21USᤨ>���똷���==T���1���t��;���s'�0�� ?�F>�`/���D�W��C=�U�����$�k�,kU�r۔�B.��&�s/i��)�ZKA�T��:p���C�6��^ZV3Iǁ���O`wj +�{�{�A�$Z�U�8�7{��C�yG ��Ri/��A.���ɀoH��aL����@�s�Ű�+`�bdĿ����)P�~Ss�W�'d[�b��e$v�o����0���s�bW~�5�Vu�#!� �� b�X�(qV� M��wѭJbaV�A��«�p��ʤei �˰&�1������H�@1�� �C��Đ_d�+G@��ҿо�@���`�A�x4yz����}�C!�9߯m��/x�>�-���E�S�\�����q��ČT��YaJ�&ty+g>X���!|f�Q���GNP { // 初始化认证状态 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: 'ktzlasl', chapterId: '64911976', novelTitle: '恐同者恋爱实录', chapterTitle: '第 15 章', 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 看小说网 版权所有