当前位置:首页 > JavaScript

楼层组件js实现

2026-04-04 14:22:46JavaScript

以下是实现楼层组件的 JavaScript 方法和关键代码示例:

基础结构

使用 HTML 和 CSS 创建楼层容器,通过 JavaScript 动态控制楼层切换:

<div class="floor-container">
  <div class="floor" data-floor="1">1F</div>
  <div class="floor" data-floor="2">2F</div>
  <div class="floor-nav">
    <button class="prev-btn">↑</button>
    <button class="next-btn">↓</button>
  </div>
</div>

核心功能实现

通过事件监听和 classList 控制楼层显隐:

const floors = document.querySelectorAll('.floor');
const prevBtn = document.querySelector('.prev-btn');
const nextBtn = document.querySelector('.next-btn');
let currentFloor = 1;

function updateFloors() {
  floors.forEach(floor => {
    floor.classList.remove('active');
    if(parseInt(floor.dataset.floor) === currentFloor) {
      floor.classList.add('active');
    }
  });
}

prevBtn.addEventListener('click', () => {
  if(currentFloor > 1) {
    currentFloor--;
    updateFloors();
  }
});

nextBtn.addEventListener('click', () => {
  if(currentFloor < floors.length) {
    currentFloor++;
    updateFloors();
  }
});

动画效果增强

添加 CSS 过渡效果使切换更平滑:

.floor {
  transition: all 0.3s ease;
  opacity: 0;
  height: 0;
  overflow: hidden;
}
.floor.active {
  opacity: 1;
  height: auto;
}

楼层定位功能

实现快速跳转到指定楼层:

function goToFloor(floorNum) {
  if(floorNum >= 1 && floorNum <= floors.length) {
    currentFloor = floorNum;
    updateFloors();
  }
}

// 为每个楼层添加点击事件
floors.forEach(floor => {
  floor.addEventListener('click', () => {
    goToFloor(parseInt(floor.dataset.floor));
  });
});

响应式处理

添加窗口大小变化时的自适应处理:

楼层组件js实现

window.addEventListener('resize', () => {
  // 重新计算楼层位置等参数
});

以上代码组合可实现基本的楼层组件功能,包含楼层切换、动画效果和定位功能。实际应用中可根据需求扩展更多特性如楼层内容懒加载、触摸滑动支持等。

标签: 楼层组件
分享给朋友:

相关文章

vue实现广告组件

vue实现广告组件

vue实现广告组件的方法 使用动态组件实现 在Vue中可以通过动态组件的方式加载广告组件,根据不同的条件展示不同的广告内容。动态组件使用<component :is="currentCompon…

vue实现分页组件

vue实现分页组件

Vue 分页组件实现 基础分页组件结构 创建一个名为 Pagination.vue 的文件,包含以下基础模板和逻辑: <template> <div class="pa…

vue实现弹窗组件

vue实现弹窗组件

实现弹窗组件的基本结构 在Vue中创建一个弹窗组件通常需要三个核心部分:组件模板、样式和逻辑控制。弹窗组件应具备打开、关闭功能,并支持内容插槽或属性传入。 <template> &l…

vue实现轮播组件

vue实现轮播组件

使用Swiper实现轮播组件 Swiper是一个流行的开源轮播库,支持Vue集成。安装Swiper和Vue相关依赖: npm install swiper vue-awesome-swiper 引入…

vue实现组件化

vue实现组件化

Vue 组件化实现方法 组件定义 使用 .vue 单文件组件格式,包含 <template>、<script> 和 <style> 三个部分: <templ…

vue实现组件复用

vue实现组件复用

Vue 组件复用的实现方式 在 Vue 中实现组件复用可以通过多种方式,以下是一些常见的方法: 使用 props 传递数据 通过 props 将数据从父组件传递到子组件,实现组件的动态渲染和复用。…