首页 > 其他分享 >pc鼠标左右移动

pc鼠标左右移动

时间:2024-03-28 12:11:06浏览次数:19  
标签:none 鼠标 isDragging movable pc style user rem 移动

 const movable =useRef<any>(null)
  const handle =()=>{
    let isDragging = false;
    let startX:any;

    movable.current.addEventListener('mousedown', (e:any) => {
        isDragging = true;
        startX = e.clientX - movable.current.getBoundingClientRect().left;
    });

    document.addEventListener('mousemove', (e) => {
        if (isDragging) {
            const newLeft = e.clientX - startX;
            movable.current.style.left = `${newLeft}px`;
        }
    });

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

  -webkit-user-drag: none;
  -moz-user-select: none;
  -khtml-user-drag: none;
  user-select: none;
<div style={{border:"1px solid rgb(234, 234, 237)",height: '1.37rem',position:"relative",overflow:"hidden"}}>
    <div ref={movable} onClick={()=>{
        handle()
    }}  style={{ position: 'absolute',
        cursor: 'move', marginTop: '0.05rem', display: 'flex', flexWrap: 'nowrap' }}>
        {listimg?.map((i, v) => {
          return (
            <div
              onClick={() => {
                setValue(v);
              }}
              style={{
                marginTop: value == v ? '-0.03rem' : '0',
                border: value == v ? '0.04rem solid #0D7DFC' : '0.01rem solid #979797',
                marginBottom: '0.19rem',
                marginRight: '0.19rem',
                width: '1.26rem',
                height: '1.26rem',
              }}
              key={v}
            >
              <img className={styles["user-none"]}  style={{width: '1.26rem', height: '1.26rem' }} src={i} alt="" />
            </div>
          );
        })}
      </div>
    </div>

  

标签:none,鼠标,isDragging,movable,pc,style,user,rem,移动
From: https://www.cnblogs.com/zjxzhj/p/18101314

相关文章

  • vue3 - 最新手机扫码PC网站二维码登录功能,用手机端扫描PC端vue3网页的登录二维码,然后
    效果图在vue3开发中,详细实现“PC电脑网站生成微信登录二维码+手机扫码登录+双端同步数据”,利用扫码实现网站登录功能、用户用手机扫描电脑端二维码进行登录的详细教程步骤(电脑端PC网页、手机端都是vue3开发,支持将手机端改造成微信小程序、uniapp安卓苹果app、H5网页等。)......
  • gRpc
    一、gRpc是什么gRPC是一个开源的高性能远程过程调用(RPC)框架,调用远程服务可像调用方法一样简单,适用于多种环境和多种语言。gRPC基于HTTP/2协议标准,并使用Protobuf序列化机制,gRPC基于接口定义语言(IDL)进行定义,允许用户定义服务及其能够被远程调用的方法,gRPC框架支持多种开发语言......
  • 【逆向】利用Objection实现移动应用抓取https流量
    那女孩对我说说我保护她的梦说这个世界对她这样的不多她渐渐忘了我但是她并不晓得遍体鳞伤的我一天也没再爱过                     ......
  • 文件整理达人教你如何快速批量移动子文件夹文件至父文件夹,并一键删除空文件夹
    比如有很多商品文件夹,里面又分出主图、细节图等,现在因工作需要把主图、细节图这些子文件夹去掉,把子文件夹里面的文件放在商品名称的父文件夹中,如图:打开主图文件夹,我们可以看到文件名结构为数字编号的,如图:再打开细节图的文件夹,我们可以看到文件名结构也是为数字编号的,如图:......
  • 【题解】P10235 [yLCPC2024] C. 舞萌基本练习
    P10235舞萌基本练习题解思路看到最大值最小首先考虑二分答案。由于答案满足单调性,可以二分不优美度的最大值,也就是逆序对数的最大值。我们在每次增加一个元素的时候都要求解当前区间的逆序对数,所以不能用归并排序求逆序对数,考虑树状数组解法。如果不会树状数组求逆序对,请出......
  • WPF解决当ScrollViewer中嵌套ItemsControl时,不能使用鼠标来滚动翻页
    1.在DataGrid中添加PreviewMouseWheel事件,并将事件的Handled属性设置为false,以便将滚动事件传递给ScrollViewer。示例代码如下:<DataGridPreviewMouseWheel="DataGrid_PreviewMouseWheel"><!--DataGrid的其他设置--></DataGrid>privatevoidDataGrid_PreviewMouseWh......
  • 移动应用开发工具及其影响
     摘要随着智能手机的普及和移动互联网的快速发展,手机应用程序成为用户日常生活中不可或缺的一部分。本文将介绍六种常用的手机应用开发工具,包括AppMobi、APICloud、appuploder、MoSync、ipaguard和Bedrock,探讨它们在移动应用开发中的作用和优势。 引言随着移动互联网行业......
  • P7137 [THUPC2021 初赛] 切切糕 题解
    题目传送门前置知识博弈论解法由于本题是CF1628D1GameonSum(EasyVersion)的扩展,故先从CF1628D1GameonSum(EasyVersion)讲解。CF1628D1GameonSum(EasyVersion)设\(x_{i}\)表示第\(i\)轮时Alice选择的数。设\(f_{i,j}\)表示已经进行了\(i\)轮,且......
  • 巨控GRMOPC模块的应用
    在如今这个高度数字化、信息化的时代,企业和个人对信息安全和设备稳定运行的需求空前高涨。特别是在某些关键行业中,如制造业、数据中心、医疗保健等领域,一旦系统出现故障,不仅可能导致经济损失,还可能对人身安全造成威胁。因此,及时的故障报警和信息通知成为了维护系统稳定不可......
  • 基于MPC的车辆自动泊车轨迹跟踪控制+代码
    基于MPC的车辆自动泊车轨迹跟踪控制+代码附赠自动驾驶学习资料和量产经验:链接一、MPC理论推导参考《无人驾驶模型预测控制》与《模型预测控制》首先是最优控制,之前总结LQR是一种无约束的线性二次最优控制问题,通过求解Ricatti方程得到最优控制率,而对于非线性系统,求取最优控制......