保持滑块中间的div突出显示
创始人
2024-11-21 18:01:53
0

要实现保持滑块中间的div突出显示,可以使用CSS和JavaScript来实现。

以下是一个示例的解决方法:

HTML代码:

Item 1
Item 2
Item 3
Item 4
Item 5

CSS代码:

.slider-container {
  overflow: hidden; /* 隐藏溢出部分 */
  width: 300px; /* 设置容器宽度 */
  height: 200px; /* 设置容器高度 */
}

.slider {
  display: flex; /* 使用flex布局 */
  flex-wrap: nowrap; /* 子元素不换行 */
  transition: transform 0.5s; /* 添加过渡效果 */
}

.slider-item {
  flex: 0 0 300px; /* 设置子元素宽度 */
  height: 200px; /* 设置子元素高度 */
  background-color: #ccc;
  margin: 10px; /* 设置子元素间距 */
  display: flex;
  align-items: center; /* 垂直居中子元素内容 */
  justify-content: center; /* 水平居中子元素内容 */
}

.slider-item.active {
  background-color: #f00; /* 设置活动项背景色 */
}

JavaScript代码:

const sliderContainer = document.querySelector('.slider-container');
const slider = document.querySelector('.slider');
const sliderItems = document.querySelectorAll('.slider-item');

sliderContainer.addEventListener('scroll', function() {
  const containerWidth = sliderContainer.offsetWidth; // 获取容器宽度
  const containerScrollLeft = sliderContainer.scrollLeft; // 获取容器滚动距离

  sliderItems.forEach(function(item) {
    const itemWidth = item.offsetWidth; // 获取子元素宽度
    const itemLeft = item.offsetLeft; // 获取子元素相对于容器的左边距

    if (itemLeft <= containerWidth / 2 && itemLeft + itemWidth >= containerWidth / 2) {
      item.classList.add('active'); // 添加活动项样式
    } else {
      item.classList.remove('active'); // 移除活动项样式
    }
  })
});

上述代码中,我们首先使用CSS布局和样式设置了滑块容器和滑块项目的样式。然后使用JavaScript监听滑块容器的滚动事件,根据滚动距离计算活动项的位置,并添加相应的样式。当滑块容器滚动时,活动项会保持在滑块中间突出显示。

相关内容

热门资讯

银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
AsusVivobook无法开... 首先,我们可以尝试重置BIOS(Basic Input/Output System)来解决这个问题。...
ASM贪吃蛇游戏-解决错误的问... 要解决ASM贪吃蛇游戏中的错误问题,你可以按照以下步骤进行:首先,确定错误的具体表现和问题所在。在贪...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...