当前位置:首页 > JavaScript

js实现左右滑动

2026-04-03 22:47:28JavaScript

js实现左右滑动

实现左右滑动的 JavaScript 方法

使用 Touch 事件监听

const slider = document.querySelector('.slider');
let startX, moveX, isDragging = false;

slider.addEventListener('touchstart', (e) => {
  startX = e.touches[0].clientX;
  isDragging = true;
});

slider.addEventListener('touchmove', (e) => {
  if (!isDragging) return;
  moveX = e.touches[0].clientX - startX;
  slider.style.transform = `translateX(${moveX}px)`;
});

slider.addEventListener('touchend', () => {
  isDragging = false;
  // 添加滑动结束后的逻辑,如复位或切换页面
});

使用鼠标事件实现桌面端兼容

slider.addEventListener('mousedown', (e) => {
  startX = e.clientX;
  isDragging = true;
});

slider.addEventListener('mousemove', (e) => {
  if (!isDragging) return;
  moveX = e.clientX - startX;
  slider.style.transform = `translateX(${moveX}px)`;
});

slider.addEventListener('mouseup', () => {
  isDragging = false;
});

slider.addEventListener('mouseleave', () => {
  isDragging = false;
});

添加 CSS 过渡效果

.slider {
  transition: transform 0.3s ease-out;
  will-change: transform;
}

实现惯性滑动

slider.addEventListener('touchend', () => {
  isDragging = false;
  const velocity = moveX / 10; // 简单速度计算
  const threshold = 50; // 滑动阈值

  if (Math.abs(moveX) > threshold) {
    const direction = moveX > 0 ? 1 : -1;
    // 执行滑动动画
  }
});

完整示例代码

<div class="slider-container">
  <div class="slider">
    <!-- 滑动内容 -->
  </div>
</div>

<style>
.slider-container {
  overflow: hidden;
  position: relative;
}
.slider {
  display: flex;
  transition: transform 0.3s ease-out;
}
</style>

<script>
// 整合上述JavaScript代码
</script>

这些方法提供了从基础到进阶的滑动实现方案,可根据具体需求调整参数和交互细节。

js实现左右滑动

标签: js
分享给朋友:

相关文章

js实现验证码

js实现验证码

实现验证码的JavaScript方法 生成随机验证码 使用Math.random()生成随机字符串,结合数字和字母: function generateCaptcha() { const cha…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js实现tab选项卡切换

js实现tab选项卡切换

实现Tab选项卡切换的JavaScript方法 使用纯JavaScript实现Tab切换功能,可以通过监听点击事件动态切换内容显示状态。以下是两种常见实现方式: 基础DOM操作实现 /…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现dh

js实现dh

JavaScript 实现 DH(Diffie-Hellman)密钥交换 Diffie-Hellman(DH)密钥交换是一种安全协议,允许双方在不安全的通信信道上建立一个共享密钥。以下是如何在 Jav…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…