Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用jquery使图片跟随鼠标指针?_Jquery - Fatal编程技术网

如何使用jquery使图片跟随鼠标指针?

如何使用jquery使图片跟随鼠标指针?,jquery,Jquery,我发现拖放很困难(你知道,移动时按住鼠标键),我想提供一个“选择并拖放”功能,用户点击图标,然后再次点击绘图板,以拖放相应的元素(图片) 如何使用jquery实现这一点 谢谢 编辑:我有两个div,一个用于选择元素的图标板和一个用于放置图片的绘图板。当鼠标进入绘图板时,我希望较大图像的不透明度为50%,请跟随鼠标指针,以便用户通过单击鼠标指针知道要将其放置的位置,以及它是否与绘图板上已有的任何内容重叠。只需将元素存储在单击事件可访问的某个变量中即可 因此,在每个图像上单击一次:$('img').

我发现拖放很困难(你知道,移动时按住鼠标键),我想提供一个“选择并拖放”功能,用户点击图标,然后再次点击绘图板,以拖放相应的元素(图片)

如何使用jquery实现这一点

谢谢


编辑:我有两个div,一个用于选择元素的图标板和一个用于放置图片的绘图板。当鼠标进入绘图板时,我希望较大图像的不透明度为50%,请跟随鼠标指针,以便用户通过单击鼠标指针知道要将其放置的位置,以及它是否与绘图板上已有的任何内容重叠。

只需将元素存储在单击事件可访问的某个变量中即可

因此,在每个图像上单击一次:
$('img').bind('click',function(e){…})
然后,当他们单击时,只需将targetEvent存储在某个位置,并将单击事件绑定到绘图板

一种有趣的方法是使用闭包并绑定特定的targetEvent,这样在单击绘图板时,您将知道要移动哪个,但只要您知道,您就可以使用动画将img移动到新位置

我忘了,您还需要确保在单击图像时,在绑定新的事件处理程序之前,已删除绘图板上的事件处理程序。

答案(使用James Black的帮助)是:

HTML

  <div id="sketch"></div>
  <img src="cat.jpg" class="follow" style="position: absolute;"/>

Jsbin演示。

我想这是在没有框架的javascript中实现的方法。我希望有一种更容易利用jquery功能的方法。另外,您单击图标,但是您删除了图像,它们不一样。jQuery使这项工作变得更容易,因为它抽象出了许多跨平台的工作。这将很容易实现,如果它需要不到30分钟,我只是自己做。如果单击绘图板,在单击图像后,您可以将img克隆或移动到正确的位置,就像使用DnD一样。整个想法是让图像在绘图板内时跟随鼠标指针。克隆要放置在图板上的图像不是问题。因此,您只需使用mousemove事件,并在光标在绘图板上移动时继续移动图像,因此单击它将导致绑定两个事件。您提到的“mousemove事件”事件使我走上了正确的轨道,谢谢!谢谢你:刚才它帮了我很大的忙!回答得好@Majid。但是请注意,您也可以将对象传递给.css()函数,而不是多次调用它。例如:$('.follow').css({'top':e.clentY,'left':e.clientX})@AndyPerlich,谢谢!我更新答案以使用一个对象,并对
.css()
进行一次调用。
$("#sketch").mousemove(function(e){
      $('.follow').css({'top': e.clientY - 20, 'left': e.clientX - 20});
});