首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在两个<ul> JS之间拖动<li> (不带jQuery)

在两个JS之间拖动(不带jQuery)可以通过使用原生JavaScript的事件和方法来实现。

首先,需要为要拖动的元素添加事件监听器,以便在拖动开始时触发相应的操作。可以使用mousedown事件来监听鼠标按下的动作。

代码语言:javascript
复制
var draggableElement = document.getElementById('draggable');

draggableElement.addEventListener('mousedown', dragStart);

function dragStart(event) {
  // 记录鼠标按下时的初始位置
  var initialX = event.clientX;
  var initialY = event.clientY;

  // 添加事件监听器,监听鼠标移动和释放动作
  document.addEventListener('mousemove', drag);
  document.addEventListener('mouseup', dragEnd);

  // 阻止默认的拖动行为
  event.preventDefault();

  // 拖动过程中的操作
  function drag(event) {
    // 计算鼠标移动的距离
    var deltaX = event.clientX - initialX;
    var deltaY = event.clientY - initialY;

    // 更新元素的位置
    draggableElement.style.left = draggableElement.offsetLeft + deltaX + 'px';
    draggableElement.style.top = draggableElement.offsetTop + deltaY + 'px';
  }

  // 拖动结束时的操作
  function dragEnd() {
    // 移除事件监听器
    document.removeEventListener('mousemove', drag);
    document.removeEventListener('mouseup', dragEnd);
  }
}

上述代码中,我们首先获取要拖动的元素(假设其id为draggable),然后为其添加mousedown事件监听器。在dragStart函数中,我们记录鼠标按下时的初始位置,并添加mousemovemouseup事件监听器来监听鼠标移动和释放的动作。

drag函数中,我们计算鼠标移动的距离,并更新元素的位置,实现拖动效果。最后,在dragEnd函数中,我们移除事件监听器,以结束拖动。

这样,当鼠标按下并移动时,元素将跟随鼠标移动,直到释放鼠标按钮为止。

注意:以上代码仅为示例,实际应用中可能需要根据具体情况进行适当的调整和优化。

推荐的腾讯云相关产品和产品介绍链接地址:

请注意,以上链接仅为腾讯云相关产品的介绍页面,具体的使用和购买方式请参考腾讯云官方网站。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • (长文预警) 你还在烦工作中碰到的拖拽问题?一个框架jiejue

    Sortablejs 简介 Sortable —是一个JavaScript库,用于现代浏览器和触摸设备上对拖放列表进行重新排序。无需jQuery。...默认为false swapThreshold 选项 交换区域将占据的目标百分比,介于0和之间1 invertSwap 选项 设置为true,将交换区域设置目标的侧面,以实现“项目之间”排序的效果 ?...要允许选择文本,请定义一个拖动处理程序,该处理程序是每个列表元素都可以拖动的区域 Sortable.create(el, { handle: ".my-handle" }); <span...当用户可排序元素内单击时,在按下和松开之间,您的手通常会略微移动。仅当您将指针移过一定的公差时才开始拖动,这样您就不会在每次单击时意外开始拖动。...默认情况下,此选项为true,这意味着Sortable应该被隐藏时将从DOM中删除克隆的元素 emptyInsertThreshold 选项 拖动时鼠标必须与一个空的可排序对象之间的距离(以像素为单位

    7.1K10

    jq---方法总结

    什么是jQuery 使用jQuery之前,我们必须先了解什么是jQuery,它能够干什么(不然我们为啥要用它)。 jQuery是一个非常流行的快速、小巧、功能强大的开源JavaScript库。...2.版本的区别 jQuery库的js文件一般有两个版本:一个是jquery-version.js(这里的version表示具体版本号,下同),一个是jquery-version.min.js。...前者是jQuery库的源代码版本,它带有注释信息,建议你开发环境中使用该文件,以便于调试或阅读源代码。...对象,他们包含筛选到的元素 $("ul li").eq(1); // 选取ul li中匹配的索引顺序为1的元素(也就是第2个li元素) $("ul li").first(); // 选取ul li中匹配的第一个元素...$("ul li").last(); // 选取ul li中匹配的最后一个元素 $("ul li").slice(1, 4); // 选取第2 ~ 4个元素 $("ul li").filter(":even

    3K20
    领券