·设为首页收藏本站📧邮箱修改🎁免费下载专区💎积分✅卡密📒收藏夹👽聊天室
返回列表 发布新帖

Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】

154 2
发表于 2024-5-12 07:36:52 | 查看全部 阅读模式

马上注册,免费下载更多dz插件网资源。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
起因是有个客户买了uniapp生成微信小程序的插件

他用的触屏模板的顶部导航不是fixed在顶部,而是会随着页面上滑而上滑(官方默认的也是这样)
在浏览器里系统会提供返回按钮,但是小程序系统是没有的。
虽然这个不是我服务范围内的事情,但是他态度很好,所以就顺手帮忙做了,发出来也给有需要的人分享下。

这次直接使用ai写代码

提问:

我需要在 Discuz!X 论坛的触屏版(模板目录为 template/zaoer_qwap/touch/)的所有页面右下角添加三个悬浮按钮。
这三个按钮分别是: 返回上一页   返回论坛首页   返回当前页面顶部(只在页面滚动超过一屏幕高度时显示)

使用字体图标显示,需要引入字体库。
按钮样式尽量简洁,并添加一些基本的悬浮动画效果。

AI回答:


好的,根据你的需求,我们需要修改的文件是 `template/zaoer_qwap/touch/common/header.htm`。以下是完整的修改代码:

1. 在文件中找到 `header` 并在下一行添加以下代码,引入 Font Awesome 字体库:

```html
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/css/all.min.css" integrity="sha512-iBBXm8fW90+nuLcSKlbmrPcLa0OT92xO1BIsZ+ywDWZCvqsWgccV3gFoRBv0z+8dLJgyAHIhR35VZc2oM/gI1w==" crOSSorigin="anonymous" referrerpolicy="no-referrer" />
```

2. 在文件末尾,添加以下 HTML 代码:

```html
<div class="float-buttons">
    <a href="javascript:history.back();" class="float-btn back-btn" title="返回上一页"><i class="fas fa-arrow-left"></i></a>
    <a href="$_G['siteurl']" class="float-btn home-btn" title="返回首页"><i class="fas fa-home"></i></a>
    <a href="#" class="float-btn top-btn" title="返回顶部" style="display:none;"><i class="fas fa-arrow-up"></i></a>
</div>
```

3. 在上面 HTML 代码之前,添加以下 CSS 样式代码:

```css
<style>
.float-buttons { position: fixed; bottom: 20px; right: 20px; z-index: 999; }
.float-btn { display: block; width: 40px; height: 40px; line-height: 40px; text-align: center; border-radius: 50%; background: rgba(0,0,0,0.5); color: #fff; margin-bottom: 10px; box-shadow: 0 2px 5px rgba(0,0,0,0.16), 0 2px 10px rgba(0,0,0,0.12); transition: all 0.3s ease; }
.float-btn:hover { background: rgba(0,0,0,0.8); transform: translateY(-3px); box-shadow: 0 5px 11px 0 rgba(0,0,0,0.18), 0 4px 15px 0 rgba(0,0,0,0.15); }
</style>
```

4. 在上面 CSS 代码之后,添加以下 jQuery 代码:

```html
<script>
$(window).scroll(function() {
    if ($(window).scrollTop() >= $(window).height()) {
        $(".top-btn").show();
    } else {
        $(".top-btn").hide();
    }
});
</script>
```

以上代码实现了以下功能:

- 引入 Font Awesome 字体库
- 在页面右下角添加三个按钮,分别是返回上一页、返回论坛首页、返回当前页面顶部
- 使用 Font Awesome 图标显示按钮
- 为按钮添加了简洁的样式,包括位置、大小、颜色、阴影等
- 为按钮添加了悬浮动画效果,鼠标悬停时按钮会上浮并改变阴影
- 通过 jQuery 监听页面滚动事件,当滚动距离超过一屏高度时显示"返回顶部"按钮,否则隐藏

注意,如果你的论坛没有加载 jQuery 库,上面的 jQuery 代码可能无法正常工作,你需要先引入 jQuery 库。

这样就完成了你的需求,如有任何其他问题,欢迎继续提出。

继续提问:

发现3个体验不好的地方:
1. 即使是首次访问,也会显示返回上一页
2.首页会显示首页按钮
3.返回顶部的按钮显示的太晚,下滑了很久才显示

AI回复:
好的,根据你提出的3个不太好的体验,我们可以做如下优化:

1. 判断是否是首次访问,如果是则不显示"返回上一页"按钮

2. 判断当前页面是否是论坛首页,如果是则不显示"返回首页"按钮

3. 提前显示"返回顶部"按钮,比如滚动超过300像素时就显示

修改后的代码:
游客,如果您要查看本帖隐藏内容请回复


注意以下几点:

1. 对"返回上一页"按钮添加了判断,如果是首次访问(`!isset($_SERVER['HTTP_REFERER'])`)则隐藏该按钮

2. 对"返回首页"按钮添加了判断,如果当前页面是论坛首页(`$_G['PHP_SELF'] == $_G['siteurl']`)则隐藏该按钮

3. 将显示"返回顶部"按钮的滚动距离改为300像素

通过这些优化,应该解决了你提出的3个体验问题。如果还有任何其他需求,欢迎继续反馈。



我觉得300还是有点长,就改为100像素了,大功告成!
这个代码是可以运行没有啥问题的,但是如果还想优化,可以考虑将字体文件下载到本地引入,把css和js写到专门的css文件引入,也可以将部分代码移到footer中。如果想更自定义一些,也可以考虑做成插件

最后附上问答图片和最后的效果图

Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】 字体图标,AI写代码 Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】 字体图标,AI写代码 Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】 字体图标,AI写代码 Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】 字体图标,AI写代码
我要说一句 收起回复

本帖被以下淘专辑推荐:

创宇盾启航版免费网站防御网站加速服务

评论2

独家记忆Lv.8 发表于 2024-5-12 07:37:08 | 查看全部
鸡屁踢已经这么强大了吗,恐怖如斯!{:2_26:}
我要说一句 收起回复
ljx413Lv.2 发表于 2025-1-20 22:22:35 | 查看全部 | Google Chrome | Windows 10
来了Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】 字体图标,AI写代码Discuz!X3.5/X3.4/X5.0触屏版所有页面增加悬浮按钮【AI写代码】 字体图标,AI写代码
我要说一句 收起回复
回复

使用道具 举报

回复

 懒得打字嘛,点击右侧快捷回复【查看最新发布】   【应用商城享更多资源】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

图文热点
创宇盾启航版免费网站防御网站加速服务
投诉/建议联系

discuzaddons@vip.qq.com

未经授权禁止转载,复制和建立镜像,
如有违反,按照公告处理!!!
  • 联系QQ客服
  • 添加微信客服

联系DZ插件网微信客服|最近更新|Archiver|手机版|小黑屋|DZ插件网! ( 鄂ICP备20010621号-1 )|网站地图 知道创宇云防御

您的IP:3.149.214.90,GMT+8, 2025-1-29 06:44 , Processed in 0.215077 second(s), 93 queries , Gzip On, Redis On.

Powered by Discuz! X5.0 Licensed

© 2001-2025 Discuz! Team.

关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表