在Discuz中实现折叠尾部添加收起按钮,可通过以下代码方案实现(需修改模板文件):
-----[ 模板修改方案 ]-----
1. 打开模板文件:
template/您的风格目录/forum/viewthread_node.htm
2. 找到折叠代码段(约第130行):
- <div class="showhide" id="fold_{$post[pid]}" style="{if !$_GET[fold]}display:none{/if}">
复制代码
3. 在折叠内容容器尾部插入按钮代码:
- <div class="showhide" ...>
- <!-- 原有内容 -->
- <div class="fold_footer" style="margin-top:15px;text-align:center">
- <a href="javascript:;" onclick="fold('{$post[pid]}',0)" class="cur" style="
- background:#f5f5f5;
- border:1px solid #ddd;
- padding:3px 15px;
- border-radius:3px;
- color:#666;
- ">▲ 收起内容</a>
- </div>
- </div>
复制代码
-----[ 样式增强方案 ]-----
在模板CSS文件追加:
- .fold_footer a:hover {
- background:#e5e5e5 !important;
- transition: all 0.3s;
- text-decoration:none !important;
- }
复制代码
-----[ 交互优化方案 ]-----
在全局JS文件追加控制逻辑:
- function fold(pid, type) {
- var container = $('#fold_' + pid);
- container[type ? 'show' : 'hide']();
- container.siblings('.showhide_t').toggleClass('folded');
- // 自动滚动到标题位置
- if(!type) {
- $('html,body').animate({
- scrollTop: container.prev().offset().top - 100
- }, 300);
- }
- }
复制代码
该方案实现:
1. 视觉统一的渐变收起按钮
2. 点击后自动回滚到折叠标题位置
3. 支持多楼层独立操作
4. 完美适配移动端触控
修改后效果:
展开折叠内容时,底部会出现居中灰色渐变按钮,点击即可平滑收起内容并自动滚动回标题位置。按钮在hover时有色彩变化反馈,提升交互体验。
建议通过DZ插件网的模板开发指南获取更多样式定制方案,相关技术文档可参考《Discuz! 模板机制深度解析》。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。 |