有没有一种方法可以使用HTML5拖放API来控制“你正在拖放的东西”的外观?
通常情况下,任何可拖动的HTML元素都是半透明的,并跟随光标直到停止/拖放为止。我想控制它,这样我就可以从元素内的任何地方开始拖动,但当你真正开始拖动时,我只能有一个小图像跟随光标,光标在哪里。
实际的例子是:一个要拖动的事物列表,每一个都是一个小图像和一些文本的名称,你将拖动到它的一边。我希望能够在元素中的任何地方开始拖动图像或文本,但只有图像跟随光标,并直接在光标的下方,而不是从你开始拖动它的地方偏移。
我可以想出几种方法来欺骗它(一个隐藏的元素,它出现在鼠标光标所在的地方,当你开始拖动时,它就是你实际拖动的东西),或者求助于经典的Javascript拖放。
谢谢
我认为.setdragimage(element,x,y);
可能就是您要找的。
function handleDragStart(e) {
var dragIcon = document.createElement('img');
dragIcon.src = 'http://...';
dragIcon.width = 100;
e.dataTransfer.setDragImage(dragIcon, x, y);
}
this.addEventListener('dragstart', handleDragStart, false);
此处的示例:jsfiddle.net/cnahv/
#div1, #div2 {float:left; width:100px; height:35px; margin:10px;padding:10px;border:1px solid #aaaaaa;} function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Tex
该类被用于提供一个拖放交互。 代码示例 const controls = new DragControls( objects, camera, renderer.domElement ); // add event listener to highlight dragged objects controls.addEventListener( 'dragstart', function ( eve
本文向大家介绍javascript实现拖放效果,包括了javascript实现拖放效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享的是一个拖放的效果,参考的代码,重构以下,加以理解学习。 首先来看效果: 拖动div 拖放状态:未开始 【程序说明】 拖动原理:其实就是在拖动块上监听mousedown事件,鼠标点击时,通过事件对象获取对应的坐标参数。然后鼠标移动时再监听d
场景:我正在使用HTML5拖放功能在我编写的游戏中放置磁贴。我想添加一个效果,在我将要放置新磁贴的两个磁贴之间稍微分开一点,以表明这就是你要放置的位置(类似于Mac OS dock)。 我的方法:我有一个,我把这些瓷砖放进去。我写了一个函数,它基本上返回一个正弦波的一个周期,我用它来更新掉落的图块的和CSS属性(图块是),基于它们在期间相对于鼠标的原始位置。 问题:在Chrome中(但不是在Fir
我正在使用本机拖放html5 api开发拖放界面。我们已经在其他部分使用了jQuery拖动,但是它在这个特定部分的表现很差,所以我们使用原始的JavaScript。 本质上,标记看起来像这样... 我为“dragstart”创建一个addEventListener并运行以下函数 它将我的类完美地应用于原始元素,但我似乎不能移动原始元素。浏览器创建克隆/幽灵图像...我看到你可以创建自己的图像显示,
本文向大家介绍jQuery控制Div拖拽效果完整实例分析,包括了jQuery控制Div拖拽效果完整实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery控制Div拖拽效果的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的jQuery程序设计有所帮助。