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

flexbox实现的WooCommerce商品画廊横向滚动无法响应鼠标滚轮问题

问题原因

浏览器默认鼠标滚轮事件优先响应页面垂直滚动,横向滚动容器默认不会拦截滚轮事件转为横向滚动偏移。

解决方案

方案1:JS兼容实现(全浏览器支持)

给目标容器绑定wheel事件,将垂直滚动量转换为横向滚动偏移,代码可直接加到主题自定义JS或者WooCommerce自定义脚本区域:

const thumbSlider = document.querySelector('.flex-control-thumbs');
if (thumbSlider) {
  thumbSlider.addEventListener('wheel', (e) => {
    // 阻止默认垂直滚动行为
    e.preventDefault();
    // 可自定义滚动速度,数值越大滚动越快
    const scrollSpeed = 2;
    thumbSlider.scrollLeft += e.deltaY * scrollSpeed;
  }, { passive: false });
}

方案2:CSS增强(配合JS使用优化体验)

给原有CSS补充以下属性,优化滚动手感:

.woocommerce div.product div.images .flex-control-thumbs {
  overflow-y: hidden; /* 禁止垂直方向滚动偏移 */
  scroll-behavior: smooth; /* 滚动平滑效果 */
  overscroll-behavior-x: contain; /* 滚动到边缘时不触发页面整体回弹 */
}

验证方式

添加代码后清空站点缓存,鼠标悬停在缩略图区域滚动滚轮,即可触发横向滚动。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:06