查看: 7|回复: 0

Discuz! X5模板帖子内容页打印的旁边添加阅读字号

[复制链接]
阅读字号:

896

主题

13

回帖

2279

积分

管理员

金钱
1370
发表于 2 小时前 | 显示全部楼层 |阅读模式

Discuz! X5模板帖子内容页打印的旁边添加阅读字号

Discuz! X5模板帖子内容页打印的旁边添加阅读字号



打开 template\discuzx5\forum\viewthread.php。查找:

  1. <!--{hook/viewthread_title_extra}-->
复制代码


换行添加下边的代码:

  1. <style>
  2.                 #viewui_fontsize{float: right;}
  3.                 #viewui_fontsize span{font-size:12px;color:#999;margin-right:3px;}
  4.                 #viewui_fontsize ul{display: inline-block;vertical-align: -4px;}
  5.                 #viewui_fontsize ul li{float: left;background: #b3b3b3;padding: 0px 3px 1px 3px;color: #FFF;font-size: 12px;border-radius: 2px;margin: 0 3px;cursor: pointer;}
  6.                 #viewui_fontsize ul li.a,#viewui_fontsize ul li:hover{background: #369;}
  7. </style>
  8. <div id="viewui_fontsize">
  9. <span>阅读字号:</span>
  10. <ul>
  11. <li class="" onclick="setFontsize(this,'24');" title="点击切换为此字号,选中后再次点击可取消选择">大</li>
  12. <li class="" onclick="setFontsize(this,'18');" title="点击切换为此字号,选中后再次点击可取消选择">中</li>
  13. <li class="a" onclick="setFontsize(this,'14');" title="点击切换为此字号,选中后再次点击可取消选择">小</li>
  14. </ul>
  15. </div>
  16. <script type="text/javascript">
  17.     function setFontsize(checkobj, size){
  18.         if(checkobj.className == 'a'){
  19.             document.cookie = "viewui_fontsize=; expires=" + new Date(0).toUTCString() + ";path=/";
  20.             location.reload();
  21.             return;
  22.         }
  23.         var box = document.getElementById('viewui_fontsize').getElementsByTagName('li');
  24.         for(var i=0; i<box.length; i++){
  25.             box[i].className = '';
  26.         }
  27.         checkobj.className = 'a';

  28.         // 核心:动态生成一个全局样式标签,用 !important 强制覆盖所有子元素(包括代码块)的字号
  29.         var styleId = 'dynamic_fontsize_style';
  30.         var oldStyle = document.getElementById(styleId);
  31.         if (oldStyle) {
  32.             oldStyle.parentNode.removeChild(oldStyle);
  33.         }

  34.         var css = `
  35.             .message, .t_f, .t_f *, .message *, .blockcode, .blockcode *, .blockcode li, .blockcode code, .blockcode td, .pcb {
  36.                 font-size: ` + size + `px !important;
  37.             }
  38.         `;
  39.         
  40.         var head = document.head || document.getElementsByTagName('head')[0];
  41.         var style = document.createElement('style');
  42.         style.id = styleId;
  43.         style.type = 'text/css';
  44.         if (style.styleSheet){
  45.             style.styleSheet.cssText = css;
  46.         } else {
  47.             style.appendChild(document.createTextNode(css));
  48.         }
  49.         head.appendChild(style);

  50.         // 记录 Cookie
  51.         document.cookie = 'viewui_fontsize=' + size + '; expires=Fri, 31 Dec 9999 23:59:59 GMT;path=/';
  52.     }

  53.     // 页面加载时自动读取 Cookie 恢复字号
  54.     window.onload = function(){
  55.         var match = document.cookie.match(new RegExp('(^| )viewui_fontsize=([^;]+)'));
  56.         if (match) {
  57.             var size = match[2];
  58.             var lis = document.getElementById('viewui_fontsize').getElementsByTagName('li');
  59.             var targetSizeLi = (size == '24') ? lis[0] : (size == '18' ? lis[1] : lis[2]);
  60.             if(targetSizeLi){
  61.                 setFontsize(targetSizeLi, size);
  62.             }
  63.         }
  64.     }
  65. </script>
复制代码


如下图所示:


Discuz! X5模板帖子内容页打印的旁边添加阅读字号

Discuz! X5模板帖子内容页打印的旁边添加阅读字号






您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|网站地图|文强阁

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖
返回顶部