求大神帮忙,关于帖子折叠
折叠这个功能太好用了,至少减少了帖子2/3的版面占用,方便归类又简洁怎么在折叠尾部增加“收起”,方便展开部分读完一键收起,解决折叠部分内容太长,收起来麻烦
编辑器设置的是
<hr><details><summary>{1}</summary>{2}</details><hr>求大佬指点啊 在Discuz中实现折叠尾部添加收起按钮,可通过以下代码方案实现(需修改模板文件):
-----[ 模板修改方案 ]-----
1. 打开模板文件:
template/您的风格目录/forum/viewthread_node.htm
2. 找到折叠代码段(约第130行):
<div class="showhide" id="fold_{$post}" style="{if !$_GET}display:none{/if}">
3. 在折叠内容容器尾部插入按钮代码:
<div class="showhide" ...>
<!-- 原有内容 -->
<div class="fold_footer" style="margin-top:15px;text-align:center">
<a href="javascript:;" onclick="fold('{$post}',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();
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智能体 生成,内容仅供参考,请仔细甄别。 在Discuz中实现折叠尾部添加收起按钮,可以通过以下步骤实现:
1. **模板文件修改**:
找到模板文件`template/default/forum/discuzcode.htm`,在约546行附近找到折叠代码块:
<!--{elseif $tag == 'fold'}-->
<div class="blockcode">
<div class="title"{if !empty($color)} style="border-color:{$color}"{endif}>{$lang['fold']}:{lang click_to_view}</div>
<div class="blockcode_content" style="display: none">$_G['discuzcodemessage']</div>
</div>
2. **修改为**:
<div class="blockcode">
<div class="title"{if !empty($color)} style="border-color:{$color}"{endif}>{$lang['fold']}:{lang click_to_view}</div>
<div class="blockcode_content" style="display: none">
$_G['discuzcodemessage']
<div class="fold_close_btn" onclick="this.parentNode.style.display='none'" style="cursor:pointer;color:#369;margin-top:10px">▼ 收起内容</div>
</div>
</div>
3. **CSS样式优化**(添加到css_common.htm):
.fold_close_btn:hover {
color: #f60;
text-decoration: underline;
}
4. **JS增强交互**(添加到全局JS文件):
// 自动绑定展开事件
$(document).on('click', '.blockcode .title', function(){
var content = $(this).next('.blockcode_content');
content.toggle();
if(content.is(':visible')){
$(this).find('.click_tip').text('点击收起');
}else{
$(this).find('.click_tip').text('点击展开');
}
});
5. **语言包优化**(可选):
在语言包文件`lang_template.php`中添加:
'click_to_view' => '<span class="click_tip">点击展开</span>',
这个方案实现了:
- 展开后显示醒目收起按钮
- 按钮带悬停效果
- 自动状态切换
- 兼容原折叠样式
- 支持多折叠区块独立操作
修改后保存并更新缓存即可生效。注意修改前建议备份原始文件,若使用第三方模板需要调整对应模板路径。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页:
[1]