广告
返回顶部
首页 > 资讯 > 精选 >react可拖拽进度条怎么实现
  • 866
分享到

react可拖拽进度条怎么实现

2023-06-30 04:06:58 866人浏览 泡泡鱼
摘要

本文小编为大家详细介绍“React可拖拽进度条怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“react可拖拽进度条怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果import {&n

本文小编为大家详细介绍“React可拖拽进度条怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“react可拖拽进度条怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。

效果

react可拖拽进度条怎么实现

import { FC, ReactElement, useRef } from "react";import styled from "styled-components";import { flexCenter } from "../../styled";interface IProps {    value: number;    onChange: (percent: number) => void;}const ProgressBar: FC<IProps> = ({ value, onChange }): ReactElement => {  const totalRef = useRef<htmlDivElement>(null);  return (    <Container>      <div ref={totalRef}>        <div style={{ width: value * 100 + "%" }} />      </div>      <div        onMouseDown={(e) => {          const { offsetWidth } = totalRef.current!;          const stop = e.currentTarget;          const { offsetLeft } = stop;          stop.style["left"] = offsetLeft + "px";          const { pageX: start } = e;          const move = (e: MouseEvent) => {            let val = offsetLeft + e.pageX - start;            if (val <= 0) val = 0;            if (val >= offsetWidth) val = offsetWidth;            // stop.style["left"] = val + "px";            onChange(val / offsetWidth);          };          const clear = () => {            document.removeEventListener("mousemove", move);            document.removeEventListener("mouseup", clear);            document.removeEventListener("mouseleave", clear);          };          document.addEventListener("mousemove", move);          document.addEventListener("mouseup", clear);          document.addEventListener("mouseleave", clear);        }}        style={{ left: value * 100 + "%" }}      ></div>    </Container>  );};export default ProgressBar;const Container = styled.div`  position: relative;  width: 10vw;  height: 1vw;  ${flexCenter};  & > :first-child {    width: inherit;    height: 0.5vw;    background-color: var(--tint-color);    border-radius: 10vw;    overflow: hidden;    display: flex;    align-items: center;    padding: 0.05vw;    div {      width: 5vw;      height: 0.4vw;      background-color: var(--deep-color);      border-radius: 0.4vw;    }  }  & > :last-child {    width: 1vw;    height: 1vw;    background-color: var(--deep-color);    border-radius: 1vw;    position: absolute;    cursor: pointer;    transfORM: translateX(-0.5vw);    svg {      width: 0.9vw;    }  }`;
export const flexCenter = CSS`  display: flex;  justify-content: center;  align-items: center;`;
:root {  --deep-color: #978961;  --tint-color: #efe5d4;}

读到这里,这篇“react可拖拽进度条怎么实现”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网精选频道。

--结束END--

本文标题: react可拖拽进度条怎么实现

本文链接: https://www.lsjlt.com/news/327369.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • react可拖拽进度条怎么实现
    本文小编为大家详细介绍“react可拖拽进度条怎么实现”,内容详细,步骤清晰,细节处理妥当,希望这篇“react可拖拽进度条怎么实现”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。效果import {&n...
    99+
    2023-06-30
  • react可拖拽进度条的实现
    效果 import { FC, ReactElement, useRef } from "react"; import styled from "styled-componen...
    99+
    2022-11-13
  • JavaScript实现可拖拽的进度条
    本文实例为大家分享了JavaScript实现可拖拽的进度条的具体代码,供大家参考,具体内容如下 一.进度条实现 <html> <head> <m...
    99+
    2022-11-12
  • JavaScript如何实现可拖拽的进度条
    这篇文章给大家分享的是有关JavaScript如何实现可拖拽的进度条的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一.进度条实现<html><head>  <me...
    99+
    2023-06-15
  • vue实现拖拽进度条的方法
    本文将为大家详细介绍“vue实现拖拽进度条的方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“vue实现拖拽进度条的方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获新知识吧...
    99+
    2023-06-06
  • JS实现圆形进度条拖拽滑动
    本文实例为大家分享了JS实现圆形进度条拖拽滑动的具体代码,供大家参考,具体内容如下 效果展示 半圆进度条效果 圆形进度条 代码实现 <!doctype html>...
    99+
    2022-11-12
  • 怎么实现react拖拽hooks
    这篇文章主要介绍了怎么实现react拖拽hooks,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。前言源码总共也就一百多行,看完这个大致可以理解一些成熟的react拖拽库的实现...
    99+
    2023-06-14
  • 怎么用react native实现圆弧拖动进度条
    这篇“怎么用react native实现圆弧拖动进度条”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么用react nat...
    99+
    2023-06-05
  • JS实现拖拽进度条改变元素透明度
    今天要分享的是运用原生JS拖拽进度条改变元素透明度,效果如下: 以下是代码实现,欢迎大家复制粘贴。 <!DOCTYPE html> <html> &...
    99+
    2022-11-12
  • vue中怎么实现一个拖拽进度条滑动组件
    这期内容当中小编将会给大家带来有关vue中怎么实现一个拖拽进度条滑动组件,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。调用组件如下:<slider :mi...
    99+
    2022-10-19
  • vue实现div高度可拖拽
    本文实例为大家分享了vue实现div高度可拖拽的具体代码,供大家参考,具体内容如下 这里有一个现成的demo,可以实现页面div的拖拽功能,但是和我想要的效果不是很一样,所以说后边有...
    99+
    2022-11-12
  • vue中的可拖拽宽度div怎么实现
    这篇文章主要介绍“vue中的可拖拽宽度div怎么实现”,在日常操作中,相信很多人在vue中的可拖拽宽度div怎么实现问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vue中的可拖拽宽度div怎么实现”的疑惑有所...
    99+
    2023-06-29
  • react-native如何实现圆弧拖动进度条
    这篇文章主要为大家展示了“react-native如何实现圆弧拖动进度条”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“react-native如何实现圆弧拖动进...
    99+
    2022-10-19
  • react实现可播放的进度条
    本文实例为大家分享了react实现可播放进度条的具体代码,供大家参考,具体内容如下 实现的效果图如下: 如果所示,点击播放按钮可以播放,进度条表示进度 功能描述: 1. 点击播放...
    99+
    2022-11-13
  • React怎么结合Drag API实现拖拽效果
    本篇内容主要讲解“React怎么结合Drag API实现拖拽效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“React怎么结合Drag API实现拖拽效果”吧!认识拖拽鼠标...
    99+
    2023-07-05
  • Android中怎么实现条目拖拽删除功能
    本篇文章给大家分享的是有关Android中怎么实现条目拖拽删除功能,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。第一步效果图0自定义控件 SwipeLayout 继承Frame...
    99+
    2023-05-30
    android
  • vue中的可拖拽宽度div的实现示例
    主要思路 在需要拖拽宽度的区域设置一个div,高度设为 100%,宽度尽量窄一些(也不要太窄,3~6px左右)在此div上绑定当“鼠标按下”时,触发docum...
    99+
    2022-11-13
  • 怎么在Html5中实现一个react拖拽排序组件
    今天就跟大家聊聊有关怎么在Html5中实现一个react拖拽排序组件,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。第一步是先了解H5拖放的相关属性,MDN上有详细的说明,链接为htt...
    99+
    2023-06-09
  • HTML5怎么实现拖拽预览
    本篇内容主要讲解“HTML5怎么实现拖拽预览”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“HTML5怎么实现拖拽预览”吧!源码<!DOCTYPE ...
    99+
    2022-10-19
  • vuedraggable怎么实现拖拽功能
    这篇文章主要介绍了vuedraggable怎么实现拖拽功能的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vuedraggable怎么实现拖拽功能文章都会有所收获,下面我们一起来看看吧。一、下载依赖npm&nbs...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作