jquery图翼网侧边带二维码的返回顶部代码

admin 104 0
该jQuery代码实现图翼网侧边带二维码的返回顶部功能,通过监听页面滚动事件,当滚动超过指定高度时显示悬浮按钮,包含返回顶部交互及二维码展示区域,核心逻辑包括:使用$(window).scroll()监听滚动位置,动态控制按钮显示隐藏;点击按钮触发animate()平滑滚动至顶部;二维码可通过img标签嵌入,配合CSS定位固定于侧边,代码简洁易用,适配移动端与桌面端,常用于网站引导用户关注或快速返回,提升用户体验。

jQuery实现图翼网风格侧边栏二维码+返回顶部功能深度解析

在网站开发中,提升用户体验的精髓往往藏在交互细节里,当页面内容较长时,"返回顶部"按钮能帮助用户快速导航;而侧边栏二维码则便于移动端用户扫码关注或分享,本文将结合图翼网简洁优雅的设计风格,详细拆解如何用jQuery实现一个**集成二维码的侧边栏返回顶部功能**,包含完整的代码逻辑和样式解析,助您快速集成到项目中。

功能概述与设计思路

核心功能

  • 智能返回顶部:页面滚动超过阈值时,悬浮侧边栏按钮自动显现,点击后平滑滚动至页面顶部。
  • 可折叠二维码:侧边栏集成二维码模块,默认收起状态,点击触发按钮优雅展开展示(支持公众号、下载链接等场景)。
  • 图翼网风格设计:参考图翼网极简美学,侧边栏固定于右侧,圆角与阴影过渡自然,视觉轻量且不干扰主内容阅读。

技术实现路径

  • HTML结构:构建语义化侧边栏容器,包含返回顶部按钮、二维码触发器及展示区。
  • CSS样式:通过固定定位实现悬浮效果,添加过渡动画提升交互流畅度,响应式适配移动端场景。
  • jQuery逻辑:监听滚动事件动态控制侧边栏显隐,实现平滑滚动动画,管理二维码模块的展开/收起状态。

完整代码实现

HTML结构

在页面<body>标签末尾添加以下结构(确保不影响主内容渲染):

<!-- 侧边栏工具容器 -->
<div class="sidebar-tool">
    <!-- 返回顶部按钮 -->
    <button class="back-to-top" title="返回顶部">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <path d="M18 15l-6-6-6 6"/>
        </svg>
    </button>
    <!-- 二维码触发按钮 -->
    <button class="qr-trigger" title="扫码关注">
        <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
            <rect x="3" y="3" width="7" height="7"/>
            <rect x="14" y="3" width="7" height="7"/>
            <rect x="14" y="14" width="7" height="7"/>
            <rect x="3" y="14" width="7" height="7"/>
        </svg>
    </button>
    <!-- 二维码展示区(默认隐藏) -->
    <div class="qr-code">
        <img src="https://example.com/your-qrcode.png" alt="扫码关注公众号" width="120" height="120">
        <p class="qr-tips">扫码关注公众号</p>
    </div>
</div>

CSS样式

以下是图翼网风格适配的CSS代码,支持深色模式切换建议:

/* 侧边栏工具容器 */
.sidebar-tool {
    position: fixed;
    right: 30px;
    bottom: 30px;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

/ 按钮基础样式 / .sidebar-tool button { width: 44px; height: 44px; border: none; border-radius: 50%; background: #ffffff; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); cursor: pointer; display: flex; align-items: center; justify-content: center; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); outline: none; }

/ 按钮悬停效果 / .sidebar-tool button:hover { background: #1890ff; box-shadow: 0 4px 12px rgba(24, 144, 255, 0.4); transform: translateY(-2px); }

.sidebar-tool button:hover svg { stroke: #ffffff; }

/ 图标样式 / .sidebar-tool svg { width: 20px; height: 20px; stroke: #333333; transition: stroke 0.3s ease; }

/ 二维码展示区 / .qr-code { position: absolute; right: 60px; bottom: 0; width: 140px; background: #ffffff; border-radius: 8px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.2); padding: 15px; opacity: 0; visibility: hidden; transform: translateX(10px) scale(0.95); transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); }

.qr-code.show { opacity: 1; visibility: visible; transform: translateX(0) scale(1); }

.qr-code img { width: 100%; height: auto; border-radius: 4px; }

.qr-tips { margin-top: 10px; text-align: center; font-size: 12px; color: #666666; }

/ 返回顶部按钮默认隐藏 / .back-to-top { display: none; }

.back-to-top.show { display: flex; animation: fadeIn 0.3s ease; }

/ 深色模式适配 / @media (prefers-color-scheme: dark) { .sidebar-tool button { background: #1f1f1f; box-shadow

标签: #jquery #返回顶部