当前位置:首页 > 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 的实现方案: 核心功能设计 数据结构 树形数据通常采用嵌套结构,例如:…

vue实现递归组件

vue实现递归组件

递归组件的实现方法 在Vue中实现递归组件主要依靠组件调用自身的能力。以下是几种常见的实现方式: 使用组件name属性 通过组件的name属性实现递归调用是最简单的方式: <template…

vue 实现弹窗组件

vue 实现弹窗组件

Vue 弹窗组件实现 基础弹窗组件结构 创建一个名为Modal.vue的文件,定义弹窗的基础结构和样式: <template> <div class="modal-mask"…

vue 实现树组件

vue 实现树组件

Vue 树形组件实现 基础树形结构实现 使用递归组件实现树形结构,核心是通过组件自身调用自身渲染嵌套数据。 <template> <ul> <li v-fo…

vue组件实现注册

vue组件实现注册

Vue 组件注册的两种方式 全局注册 通过 Vue.component() 方法注册,注册后可在任意 Vue 实例中使用。通常在项目的入口文件(如 main.js)中操作: import V…

vue实现组件拖动

vue实现组件拖动

Vue 实现组件拖动的几种方法 使用 HTML5 拖放 API HTML5 原生提供了拖放 API,可以通过 draggable 属性实现基础拖拽功能。在 Vue 中可以通过事件绑定实现交互逻辑。…