You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

回到顶部按钮出现时触发WhatsApp按钮CSS平滑上移动画实现求助

实现方案

核心逻辑是给WhatsApp按钮添加位移过渡属性,同时监听回到顶部按钮的显示状态,动态控制WhatsApp按钮的位置,实现平滑移动效果。

第一步:添加CSS过渡样式

先给WhatsApp按钮配置位移动画,把代码加入你站点的自定义CSS文件即可:

/* 请将.social-chat-whatsapp替换为你站点WhatsApp按钮的实际选择器 */
.social-chat-whatsapp {
  /* 保留原有position: fixed、right等定位属性不变 */
  transition: bottom 0.3s cubic-bezier(0.4, 0, 0.2, 1); /* 定义底部位移的平滑过渡效果 */
  bottom: 20px; /* 回到顶部按钮隐藏时的默认底部距离,可按需调整 */
}

/* 回到顶部按钮显示时,WhatsApp按钮的上移状态类 */
.social-chat-whatsapp.shift-up {
  bottom: 70px; /* 上移后的底部距离,数值根据回到顶部按钮高度+间距调整即可 */
}

第二步:添加交互控制逻辑

以下提供两种通用实现方案,按需选择一种加入站点自定义JS文件即可:

方案1:滚动监听(通用度最高)

适合不清楚回到顶部按钮显示逻辑的场景,通过监听滚动事件判断按钮可见性:

// 替换为你站点两个按钮的实际选择器
const backToTopBtn = document.querySelector('.back-to-top');
const whatsappBtn = document.querySelector('.social-chat-whatsapp');

window.addEventListener('scroll', () => {
  // 判断回到顶部按钮是否处于可见状态
  const btnIsVisible = window.getComputedStyle(backToTopBtn).display !== 'none' 
                      && window.getComputedStyle(backToTopBtn).opacity > 0;
  btnIsVisible ? whatsappBtn.classList.add('shift-up') : whatsappBtn.classList.remove('shift-up');
});

方案2:属性监听(性能更优)

如果回到顶部按钮是通过添加类(如show)控制显示的,使用MutationObserver监听属性变化即可,无需持续触发滚动事件:

// 替换为你站点两个按钮的实际选择器
const backToTopBtn = document.querySelector('.back-to-top');
const whatsappBtn = document.querySelector('.social-chat-whatsapp');

const observer = new MutationObserver((mutations) => {
  mutations.forEach(item => {
    if (item.attributeName === 'class') {
      // 把show替换为你站点回到顶部按钮显示时的实际类名
      const btnIsVisible = backToTopBtn.classList.contains('show');
      btnIsVisible ? whatsappBtn.classList.add('shift-up') : whatsappBtn.classList.remove('shift-up');
    }
  })
})

// 监听回到顶部按钮的类属性变化
observer.observe(backToTopBtn, { attributes: true });

注意事项

  • 可通过浏览器F12开发者工具的元素选择器,点击对应按钮获取准确的元素选择器
  • 上移后的bottom数值可根据实际效果调整,一般设置为「回到顶部按钮高度 + 两个按钮的期望间距」即可
  • 过渡动画的时长(示例为0.3s)和缓动函数可根据站点整体风格自行调整

内容的提问来源于stack exchange,提问作者NukeSkull

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 20:24:01