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

使dragula在悬停在元素上时显示放置位置

Dragula是一个轻量级的JavaScript库,用于实现拖放功能。当使用Dragula库时,可以通过添加一些自定义代码来实现在悬停在元素上时显示放置位置的效果。

要实现这个效果,可以按照以下步骤进行操作:

  1. 引入Dragula库:在HTML文件中引入Dragula库的JavaScript文件,可以通过CDN链接或本地文件引入。
  2. 创建容器元素:在HTML文件中创建一个容器元素,用于包含需要拖放的元素。
  3. 添加拖放元素:在容器元素中添加需要拖放的元素,可以使用HTML标签或动态创建元素。
  4. 初始化Dragula:在JavaScript代码中,使用Dragula库的dragula()函数初始化拖放功能。将容器元素作为参数传递给该函数。
  5. 添加事件监听器:使用Dragula库提供的事件监听器,监听拖放过程中的各个阶段。在悬停在元素上时,触发相应的事件处理函数。
  6. 显示放置位置:在悬停在元素上时,通过修改元素的样式或添加辅助元素来显示放置位置。可以使用CSS属性outlineborder等来突出显示放置位置。

以下是一个示例代码,演示了如何使用Dragula库实现在悬停在元素上时显示放置位置的效果:

代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
  <title>Dragula Example</title>
  <link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/dragula/3.7.2/dragula.min.css">
</head>
<body>
  <div id="container">
    <div class="item">Item 1</div>
    <div class="item">Item 2</div>
    <div class="item">Item 3</div>
  </div>

  <script src="https://cdnjs.cloudflare.com/ajax/libs/dragula/3.7.2/dragula.min.js"></script>
  <script>
    // 初始化Dragula
    var container = document.getElementById('container');
    var drake = dragula([container]);

    // 添加事件监听器
    drake.on('drag', function(el, source) {
      // 拖动开始时的处理
    });

    drake.on('dragend', function(el) {
      // 拖动结束时的处理
    });

    drake.on('dragover', function(el, container) {
      // 悬停在元素上时的处理
      // 显示放置位置的效果
      el.style.outline = '2px dashed red';
    });

    drake.on('dragout', function(el, container) {
      // 离开元素时的处理
      // 移除放置位置的效果
      el.style.outline = '';
    });
  </script>
</body>
</html>

在上述示例代码中,通过添加dragover事件监听器,在悬停在元素上时将元素的边框样式设置为虚线框,以显示放置位置。在dragout事件监听器中,将边框样式重置为空,以移除放置位置的效果。

请注意,以上示例代码中的Dragula库版本为3.7.2,你可以根据需要选择最新版本的Dragula库。此外,还可以根据具体需求进行样式和交互的定制。

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

相关·内容

【JS】1724- 重学 JavaScript API - Drag and Drop API

「定义可放置的(droppable)元素」:将用来放置被拖动元素的目标区元素标记为可放置,并指定相应的事件处理逻辑。...当拖动 drag-source 元素,使用 event.dataTransfer.setData() 方法设置了拖动数据,而放置目标元素,执行 drop事件监听的回调方法,实现被拖动的元素添加到可放置元素底下...放置目标容器,我们使用 dragover 事件阻止默认行为并添加一些过渡样式,使用 dragleave 事件移除过渡样式,使用 drop 事件放置目标容器中追加拖动的图片元素。...提供了丰富的事件和方法,使开发者可以自定义拖放行为。 缺点: 某些较旧的浏览器中可能存在兼容性问题。 拖放操作可能受到设备的限制,如移动设备的触摸操作。...注意性能问题,特别是处理大量拖放元素。 考虑移动设备的触摸操作,确保拖放功能在移动设备的可用性和易用性。 提供适当的视觉反馈和指导,以帮助用户理解和使用拖放功能。

27120
  • 掌握这4 个关键的 CSS 属性,你才算入门 CSS

    它需要许多不同的值,但坦率地说,大多数情况下你将只使用 4 个值。 block:CSS 中的块级元素,它占用尽可能多的空间,但它们不能放置同一水平线上。...开发人员主要使用块级元素来简化布局过程,因为他们能够改变他们选择的元素的宽度和高度。 inline:这是默认值,如果没有指定任何其他显示值,元素可以并排放置与内联元素相同的水平线上。...您可以在下拉菜单中使用它,当你将鼠标悬停在导航菜单时会显示附加信息。 2、Float float 属性用于定位和格式化内容。 简单来说,float 属性管理HTML内容父容器一侧边缘的位置。...例如; 当子元素被定位为absolute,我们可以通过top、left、bottom值来控制它在整个body元素中的位置。你可以将其称为独立子元素,其中 body 元素是父元素。...但是,当我们为父元素(蓝色容器)提供相对位置,所有具有绝对位置元素都将落入新的父元素之下。 你可以观察到,当我们将相对位置值传递给父元素,子元素的高度现在是相对于父元素的。 本文完~

    1.9K30

    Sketch 94 mac,草图94中文最新版支持M1,支持macOS Ventura 13

    新的面板组按类型覆盖,使您可以轻松地查看和更改符号实例中的颜色、图像、文本和图层样式——一次完成。我们还改进了实例中显示嵌套符号的方式——现在应该感觉更整洁了。...有什么改进:将形状转换为轮廓,我们将尊重任何非边框元素,例如填充或阴影。您现在可以通过按住⌘并拖动调整大小手柄来旋转线条,就像您可以使用其他图层一样。您现在可以直接在画布编辑符号中的文本层。...将鼠标悬停在文本层,按T,单击它并输入。您现在可以像使用任何其他图层一样隐藏和显示嵌套符号 - 点击退格键将隐藏嵌套符号而不是删除它。...如果在将鼠标悬停在手柄按住 ⌘ 键,您将看到线条的角度。我们修复了插入或复制粘贴位图后关闭文档时会发生的内存泄漏。修复了无法通过拖动未填充区域来移动带有边框但没有填充的选定形状的问题。...修复了使用选定的画板将图像拖放到画布上会忽略您放置它的位置的问题。修复了如果叠加层是自动链接目标,则叠加层预览无法正确显示的问题。修复了一个错误,如果交互文本层,您将无法画布周围移动叠加层。

    11K70

    利用CSS变量实现炫酷的悬浮效果

    怎样才能达到这个效果,使我们的网站脱颖而出呢?其实,它并不像我们想象的那么难! 追踪位置 我们要做的第一件事就是获取到鼠标的位置。...,等待,直到用户将鼠标移过它; 2、计算相对于元素位置; 3、将坐标存在CSS的变量中。...仅仅9行代码就让你能获知用户放置鼠标的位置,通过这个信息你能达到意想不到的效果,但是我们还是先来完成CSS部分的代码。 动画渐变 我们先将坐标存储CSS变量中,以便能够随时使用它们。...2、将 width 和 height 初始化为 0px ,当用户悬停在按钮,将其改为 400px 。...不要忘了设置这种转换以使其像风一样瞬间出现; 3、利用坐标追踪鼠标位置; 4. background 属性应用 radial-gradient ,使用 closest-side circle 。

    1.4K21

    JavaScript 学习-50.实现页面菜单拖放(Drag 和 Drop)

    前言 拖放是一种常见的操作,即抓取对象以后从一个位置拖到另一个位置 HTML5 中,拖放是标准的一部分,任何元素都能够拖放。...拖到何处 - ondragover ondragover 事件规定被拖动的数据能够被放置到何处。 默认地,数据/元素无法被放置到其他元素中。为了实现拖放,我们必须阻止元素的这种默认的处理方式。...该方法将返回 setData() 方法中设置为相同类型的任何数据 被拖数据是被拖元素的 id (“drag1”) 把被拖元素追加到放置元素中 使用示例 一个完整的拖曳效果是由拖曳(Drag)和释放(Drop...document.ondragover = function(event){ console.log('源对象悬停在目标元素上方'); return false...document.ondragover = function(event){ console.log('源对象悬停在目标元素上方'); return false

    1.2K20

    前端10大开源拖拽排序库汇总, 让搭建,更简单

    「github:」 https://github.com/bevacqua/dragula 「demo地址:」 https://bevacqua.github.io/dragula/ 2..../interactjs.io/ 3. react-dnd 「React DnD」 是一组 「React」 高阶组件,使用的时候只需要使用对应的 「API」 将目标组件进行包裹,即可实现拖动或接受拖动元素的功能...Sortable 「Sortable」 —是一个「JavaScript」库,用于现代浏览器和触摸设备对拖放列表进行重新排序。无需「jQuery」。...demo地址:」 https://codesandbox.io/embed/gracious-wozniak-kj9w8 8. dnd kit 「dndkit」 可以让我们轻松构建拖放界面, 而无需每次项目需要移动位置都更新...Formily React 中,受控模式下,表单的整树渲染问题非常明显。

    5.9K21

    利用 CSS 变量实现悬浮效果

    这个动画是将鼠标移动到订阅按钮移动光标会显示相应的彩色渐变。这个想法很简单,但是它能使这个按钮脱颖而出,人们一下子就注意到它了,增加了点击的概率。 ?...利用 CSS 变量实现令人震惊的悬浮效果 怎样才能达到这个效果,使我们的网站脱颖而出呢?其实,它并不像你想象的那么难! 追踪位置 我们要做的第一件事就是获取到鼠标的位置。...e.target.offsetLeftconst y = e.pageY – e.target.offsetTope.target.style.setProperty(‘–x’, ` 是的,仅仅9行代码就让你能获知用户放置鼠标的位置...动画渐变 我们先将坐标存储CSS变量中,以便能够随时使用它们。...将 width和height初始化为0px,当用户悬停在按钮,将其改为400px。不要忘了设置这种转换以使其像风一样

    1.2K20

    23个高手都在用的Figma小技巧!(2022新专辑)-Part 01

    分享具体的文件位置:如果您选择了特定的页面、框架或元素,文件将在使用链接打开跳转到您的选择。这一点非常棒~ 002....快速调整字段数值 将鼠标悬停在 Figma 中的某些属性字段,会出现一个横向双箭头。只需按下鼠标键 并将箭头从左向右移动,数值就会发生变化。按住shift以增加调整数值的速度。...这适用于任何在将鼠标悬停在显示横向双箭头的字段。 005.复制为PNG而不导出图片 按cmd+ shift+ c(或通过右键菜单访问)将框架作为 png 复制到剪贴板。...页面内部,我只是放置组件的位置放置框架。它可以是单个组件或具有变体的组件集。...然后图像视图中,再次右键单击检查模式,然后整个 SVG 元素,右键单击并选择“复制元素”。

    3.8K30

    这11个新的Figma隐藏技巧,大幅提升你的设计效率

    这意味着您可以不影响分离实例的情况下更改父项,从而节省您的时间和精力。 5. 手部定位 Figma 中设置手部位置的最佳方法之一是将拇指放在“Command”键。...这意味着您设计中的每个屏幕都应包含在其自己的框架(Frame)内,并且该屏幕的所有元素都应放置该框架内。 这种方法的好处很多。...9.选择嵌套对象 这使您可以快速轻松地选择画布的对象,而不管它们层次结构中的位置如何。 要使用此功能,请将光标悬停在要选择的对象。...如果对象框架或组内,您可以通过将光标悬停在它上面并单击它来选择它。 此功能的另一个优点是它可以多选对象。为此,请按住键盘上的“命令”键并在要选择的对象单击并拖动(或单击“Shift”)。...值得注意的是,即使您可以 Figma 中使用百分比设置行高,但当您使用检查模式,它仍将以像素为单位显示。但是,这不应影响您设计的外观或行为方式。

    4.5K51

    前端开发:这10个Chrome扩展你不得不知

    这个工具识别和显示元素的CSS属性方面很有用。它包括一个浮动窗口,您可以把鼠标悬停在页面上任一元素以查看它的所有CSS属性。您可以通过快捷键CSSViewer的窗体中轻松复制您选定元素的样式。...ColorPick Eyedropper有一个浮动面板,它悬停在网页中的元素上方,显示元素的颜色。单击该元素会将所选元素的颜色复制到剪贴板。...CSSPeeper 另一个检查和复制元素样式的出色工具。 使用CSSPeeper,您可以将鼠标悬停在网页中的任何元素,然后单击鼠标即可复制元素的样式。...浏览网页,通常吸引我眼球的是页面中正在使用的字体。当我对某个文字感兴趣想要查看其使用的字体,我会下意识地单击鼠标右键以打开开发人员工具,查看它的源代码。但是,这样还是太繁琐了。...WhatFont使字体查看更加容易。它使您在把鼠标悬停在文本就能快速查看它使用的字体。 结论 以上只是基于我自己的理解,这些扩展是我的工作更加的轻松快捷。

    2.4K10

    整理了12款开源拖拽库, 轻松上手可视化搭建

    「github:」 https://github.com/bevacqua/dragula 「demo地址:」 https://bevacqua.github.io/dragula/ 2....//interactjs.io/ 3. react-dnd 「React DnD」 是一组 「React」 高阶组件,使用的时候只需要使用对应的 「API」 将目标组件进行包裹,即可实现拖动或接受拖动元素的功能...Sortable 「Sortable」 —是一个「JavaScript」库,用于现代浏览器和触摸设备对拖放列表进行重新排序。无需「jQuery」。...「demo地址:」 https://codesandbox.io/embed/gracious-wozniak-kj9w8 8. dnd kit 「dndkit」 可以让我们轻松构建拖放界面, 而无需每次项目需要移动位置都更新...Formily React 中,受控模式下,表单的整树渲染问题非常明显。

    1.4K20

    Excel实战技巧65: 制作漂亮的用户窗体按钮——当鼠标移动到按钮高亮显示

    很多场合,我们都能看到这样的效果,当鼠标移动到某个元素上面,该元素会变成另外一种颜色,达到强调的效果。...下面,我们来实现当鼠标移动到用户窗体按钮,会使用颜色高亮显示,让用户窗体更生动,如下图1所示。 ? 其实,你图1中看到的按钮并不是用户窗体内置的传统命令按钮,而是使用图像控件来制作的。...然后,使用VBA代码来根据鼠标的位置切换这两个图像的可见性,从而实现按钮的动态变化。 Excel工作表中创建按钮图像 使用文本框在Excel中创建按钮图像。...本例中,将使用绿色和白色/灰色格式来指示用户是否将鼠标悬停在特定按钮。下图2是我制作的用于按钮图像的文本框。 ? 这里要注意的是,四个文本框的大小和格式设置都必须完全相同。...但是,如果用户将鼠标放置除这两个按钮之外的其他地方,我们不希望这两个按钮显示绿色,因此要使用用户窗体的MouseMove事件: Private SubUserForm_MouseMove(ByVal

    8.3K20

    Flutte部件目录-Material Components 顶

    一个显示应用底部的材质小部件,用于少量视图中进行选择,通常介于3到5之间。 底部导航栏由文本标签,图标或两者的多个项目组成,并放置一块材料的顶部。 它提供了应用程序顶级视图之间的快速导航。...final items → List 放置底部的导航栏内的互动条目....一个凸起的按钮由一个矩形的材料悬停在界面上。 ? ? FloatingActionButton 浮动操作按钮是一个圆形图标按钮,它悬停在内容以提升应用程序中的主要操作。...FlatButton 平面按钮是材料组件部件打印的部分,通过填充颜色对触摸作出反应。 ? IconButton 图标按钮是一个打印材质小部件的图片,通过填充颜色(墨水)对触摸作出反应。 ?...ExpansionPanel 扩展面板包含创建流并允许轻量级地编辑元素。 ExpansionPanel小部件实现了这个组件。 ? SnackBar 带有可选操作的轻量级消息,简要显示屏幕底部。

    9.5K40

    开发人员必备:9个令人惊叹的CSS网格生成器推荐!

    例如,它支持命名网格区域,因此设计网格,你可以根据需要为它们命名。...例如,你可以通过简单地点击“+”和“-”按钮来轻松地在网格中添加或删除行和列,并且它会在网格中的相邻位置添加一个元素。...现在,当你打开这个工具,它有三个部分。左侧面板,可以向布局中添加行和列,而在右侧面板,您可以向行和列中添加网格。 简单来说,举个例子,你想在开头只添加一个网格项,因为你想将其作为标题。...它是一个开源项目,可在GitHub获得,帮助您创建响应式布局。 此外,它具有非常简单的界面,使您可以通过将鼠标悬停在网格的角落上来更改每个等级的大小。此外,您可以拖放网格项以更改其位置。...它有一个非常简单的界面,您可以在其中设置行数和列数,然后选择要放置网站元素的区域。 此外,你可以创建多达20行和列的网站布局。当您完成网格的创建后,可以直接获取上述示例中显示的CSS代码。

    3.7K30

    Matplotlib 中文用户指南 8.2 我们最喜欢的秘籍

    另一个麻烦是,如果你将鼠标悬停在窗口上,并在 x 和 y 坐标处查看 matplotlib 工具栏(交互式导航)的右下角,你会看到 x 位置的格式与刻度标签的格式相同, 例如,『Dec 2004』。...我们想要的是工具栏中的位置具有更高的精确度,例如,鼠标悬停在上面给我们确切的日期。 为了解决第一个问题,我们可以使用matplotlib.figure.Figure.autofmt_xdate()。...ax.fmt_xdata = mdates.DateFormatter('%Y-%m-%d') plt.title('fig.autofmt_xdate fixes the labels') 现在,当你将鼠标悬停在绘制的数据...在下面的例子中,我们模拟一个随机漫步者,并计算人口位置的分析平均值和标准差。 群体平均值显示为黑色虚线,并且平均值的加/减一个标准差显示为黄色填充区域。...当使用文本框装饰轴,两个有用的技巧是将文本放置轴域坐标中(请参见变换教程),因此文本不会随着 x 或 y 轴的变化而移动。

    78920

    JavaScript进阶之实现拖拽

    事件指针设备按钮按下触发。...mouseup事件指针设备按钮抬起触发。 当指针设备( 通常指鼠标 )元素移动, mousemove 事件被触发。 JavaScript三大家族 ? ? 明白了上述?...,此事件作用在目标元素 ondragover 事件:拖拽元素目标元素移动的时候触发的事件,此事件作用在目标元素 ondrop 事件:被拖拽的元素目标元素同时鼠标放开触发的事件,此事件作用在目标元素...它会影响到拖动过程中浏览器显示的鼠标样式。比如,当用户悬停在目标元素的时候,浏览器鼠标也许要反映拖放操作的类型。...有 3 个效果可以定义: copy 表明被拖动的数据将从它原本的位置拷贝到目标的位置。 move 表明被拖动的数据将被移动。 link 表明拖动源位置和目标位置之间将会创建一些关系表格或是连接。

    2.7K40

    Unity Hololens2开发|(十一)MRTK3 Solver(求解器)

    1.前言 求解器是有助于根据预定义算法计算对象位置和方向的组件。 示例:将对象放置与用户注视视线相交的表面。...另一个示例是一个尾随对象,该对象悬停在用户前面(基于摄像机)。 求解器还可以附加到控制器和对象,使对象尾随控制器。 所有求解器都可以安全地堆叠,例如尾随行为加表面磁性加动量。...以下求解器提供基本行为的构建基块: 求解器类型 描述 Orbital 锁定到指定位置并偏离参照对象 ConstantViewSize 应缩放以保持相对于参照对象视图不变的大小 RadialVie 使对象保持参照对象的视锥投射范围内...ConstantViewSize 应缩放以保持相对于参照对象视图不变的大小 Follow 使对象保持参照对象的一组用户定义边界内。 InBetween 使对象保持两个跟踪对象之间。...PartwayOffset 定义将在直线上两个转换之间的哪个位置放置对象,0.5 表示中间,1.0 表示第一个转换,0.0 表示第二个转换。

    32610

    C# SplitContainer 控件详细用法

    当鼠标指针悬停在该拆分条,指针将相应地改变形状以显示该拆分条是可移动的。...使用 SplitContainer 控件,可以创建复合的用户界面(通常,一个面板中的选择决定了另一个面板中显示哪些对象)。这种排列对于显示和浏览信息非常有用。...但是,有时您可能要以编程方式控制拆分器放置位置以及可以移动的程度。...这种排列主要是通过在窗体停靠控件实现的。停靠控件,可以确定控件要紧靠父容器的哪个边缘。这样,如果将 Dock 属性设置为 Right,控件的右边缘将停靠在它的父控件的右边缘。...但是,通过使用其他控件或使它们停靠在不同的位置,一样可以轻松创建同样灵活的其他用户界面。

    2.9K30
    领券