保持滑块中间的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监听滑块容器的滚动事件,根据滚动距离计算活动项的位置,并添加相应的样式。当滑块容器滚动时,活动项会保持在滑块中间突出显示。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...