Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使图像跟随鼠标指针

使图像跟随鼠标指针
EN

Stack Overflow用户
提问于 2011-08-22 06:22:47
回答 3查看 122.7K关注 0票数 27

我需要一个火箭来跟踪我的网站上的鼠标指针的移动。这意味着它应该旋转以面对运动的方向,如果可能的话,根据它必须覆盖的距离来加速。这有可能吗?也许是jquery?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-22 06:34:47

使用jquery将.mousemove注册到文档,将图像.css左上角更改为event.pageX和event.pageY。

示例如下http://jsfiddle.net/BfLAh/1/

代码语言:javascript
运行
AI代码解释
复制
$(document).mousemove(function(e) {
  $("#follow").css({
    left: e.pageX,
    top: e.pageY
  });
});
代码语言:javascript
运行
AI代码解释
复制
#follow {
  position: absolute;
  text-align: center;
}
代码语言:javascript
运行
AI代码解释
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="follow"><img src="https://placekitten.com/96/140" /><br>Kitteh</br>
</div>

更新为缓慢跟随

http://jsfiddle.net/BfLAh/3/

对于方向,您需要获取当前的css left和css top,并与event.pageX和event.pageY进行比较,然后使用

代码语言:javascript
运行
AI代码解释
复制
-webkit-transform: rotate(-90deg); 
-moz-transform: rotate(-90deg); 

对于速度,您可以将jquery .animation时长设置为一定的值。

票数 36
EN

Stack Overflow用户

发布于 2011-08-22 06:54:05

好的,这是一个跟随光标的简单框

剩下的工作很简单:记住最后一个光标的位置,然后应用一个公式让框移动到光标所在的位置以外的位置。如果框的加速度有限,并且必须在光标停止移动后赶上光标,则超时也会很方便。用图像替换框是简单的CSS (它可以替换框的大部分设置代码)。我认为示例中的实际思考代码大约是8行。

选择正确的图像(使用子画面)来确定火箭的方向。

是啊,烦死了。:-)

代码语言:javascript
运行
AI代码解释
复制
function getMouseCoords(e) {
  var e = e || window.event;
  document.getElementById('container').innerHTML = e.clientX + ', ' +
    e.clientY + '<br>' + e.screenX + ', ' + e.screenY;
}


var followCursor = (function() {
  var s = document.createElement('div');
  s.style.position = 'absolute';
  s.style.margin = '0';
  s.style.padding = '5px';
  s.style.border = '1px solid red';
  s.textContent = ""

  return {
    init: function() {
      document.body.appendChild(s);
    },

    run: function(e) {
      var e = e || window.event;
      s.style.left = (e.clientX - 5) + 'px';
      s.style.top = (e.clientY - 5) + 'px';
      getMouseCoords(e);
    }
  };
}());

window.onload = function() {
  followCursor.init();
  document.body.onmousemove = followCursor.run;
}
代码语言:javascript
运行
AI代码解释
复制
#container {
  width: 1000px;
  height: 1000px;
  border: 1px solid blue;
}
代码语言:javascript
运行
AI代码解释
复制
<div id="container"></div>

票数 12
EN

Stack Overflow用户

发布于 2013-10-03 16:01:11

以下是我的代码(未优化,但完整的工作示例):

代码语言:javascript
运行
AI代码解释
复制
<head>
  <style>
    #divtoshow {position:absolute;display:none;color:white;background-color:black}
    #onme {width:150px;height:80px;background-color:yellow;cursor:pointer}
  </style>
  <script type="text/javascript">
    var divName = 'divtoshow'; // div that is to follow the mouse (must be position:absolute)
    var offX = 15;          // X offset from mouse position
    var offY = 15;          // Y offset from mouse position
    
    function mouseX(evt) {if (!evt) evt = window.event; if (evt.pageX) return evt.pageX; else if (evt.clientX)return evt.clientX + (document.documentElement.scrollLeft ?  document.documentElement.scrollLeft : document.body.scrollLeft); else return 0;}
    function mouseY(evt) {if (!evt) evt = window.event; if (evt.pageY) return evt.pageY; else if (evt.clientY)return evt.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop); else return 0;}
    
    function follow(evt) {
        var obj = document.getElementById(divName).style;
        obj.left = (parseInt(mouseX(evt))+offX) + 'px';
        obj.top = (parseInt(mouseY(evt))+offY) + 'px'; 
        }
    document.onmousemove = follow;
  </script>
</head>
<body>
    <div id="divtoshow">test</div>
    <br><br>
    <div id='onme' onMouseover='document.getElementById(divName).style.display="block"' onMouseout='document.getElementById(divName).style.display="none"'>Mouse over this</div>
</body>

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7143806

复制
相关文章
Python中如何通过引用传递变量
问: 参数是按引用传递还是按值传递? 我如何通过引用传递,以便下面的代码输出 'Changed' 而不是 'Original'? class PassByReference: def __in
程序熵
2023/09/25
2680
Python中如何通过引用传递变量
HttpRunner3的变量是如何传递的
HttpRunner3的变量可以在测试类的用例配置中通过variables添加,也可以在测试步骤中使用extract()、with_jmespath()提取出来放到变量x,再用$x传递给下一个接口使用,比如登录到下单流程的部分测试脚本如下:
dongfanger
2022/05/09
7900
HttpRunner3的变量是如何传递的
shell 循环变量传递问题
定义为环境变量没有用的,环境变量只是在子进程创建的时候可以从父进程复制到子进程,它无法实现从子进程往父进程传递,也不能在子进程运行期间从父进程获得新值。
全栈程序员站长
2022/09/15
9810
通过 JavaScrpit 传递 Post 变量
使用 Get 方式方式传递变量会把 URL 搞得很长,而且 IE 会对长度有限制,所以最好的方式还是通过 Post 方式来传递变量。但是通过 Post 来传递变量的时候一定要有个表单,很多时候页面上并没有表单,所以这个时候可以隐藏表单,然后通过 JavaScript 来提交表单。下面是个隐藏表单的例子:
Denis
2023/04/13
7220
JS混淆加密:变量赋值Eval加密
即,处理:AssignmentExpression,把整行语句的每个字符用fromCharCode函数转为数字。
用户8703799
2023/05/30
4K0
Python 模块之间传递变量
最近在做实验时发现个问题,我想在一个模块中调用另一个模块的变量,首先想到了用return 
py3study
2020/01/10
3.8K0
开发 | 如何在小程序页面之间,传递数据和变量?
最近组里开发小程序,遇到了一个困扰前端很长时间的话题:页面之间,如何传递数据和变量?
知晓君
2018/08/01
1.1K0
开发 | 如何在小程序页面之间,传递数据和变量?
PHP变量传递值的方法
变量的传值方式,是指一个变量传给另一个变量的内部细节形式——单对单. 值传递 互相独立,互不影响. <?php $v1 = 1; $v2 = $v1; // 值传递
小新哟
2020/09/23
2.9K0
PHP变量传递值的方法
thymeleaf 传递数据到js变量
thymeleaf 传递数据到js变量 如何把控制器传来的model中的值传递给js变量呢? 需要以下两个: <script th:inline="javascript"> var message =
Dream城堡
2018/09/10
5.2K0
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
.29.
2023/10/25
2610
【Java变量】 局部变量、成员变量(类变量,实例变量)、方法参数传递机制
[PHP] 内部接口参数加密传递验证方式
1. 当有内部系统之间进行调用的时候,也需要简单的进行一下调用方的验证,一种简单的内部接口加密验证方式.此加密方式需要三个参数,分别是api地址,pin码,entry标识,其中pin和entry是接口双方约定的两个参数.
唯一Chat
2019/09/07
1.2K0
PHP笔记:变量传值,值传递和引用传递的区别
变量传值在开发中经常会遇到,主要有两种方式:值传递和引用传递,下面通过一个示例来说明两者的区别。
德顺
2019/11/13
3.3K0
PHP笔记:变量传值,值传递和引用传递的区别
聊聊reactor异步线程的变量传递
在传统的请求/应答同步模式中,使用threadlocal来传递上下文变量是非常方便的,可以省得在每个方法参数添加公用的变量,比如当前登录用户。但是业务方法可能使用了async或者在其他线程池中异步执行,这个时候threadlocal的作用就失效了。
code4it
2018/09/17
3.4K0
Linux/Unix shell sql 之间传递变量
       灵活结合Linux/Unix Shell 与SQL 之间的变量传输,极大程度的提高了DBA的工作效率,本文针对Linux/Unix shell sql 之间传递变量给出几个简单的示例以供参考。
Leshami
2018/08/14
1.2K0
HTML中传递和引用JavaScript变量
http://ivantian2008.blog.51cto.com/622133/1127456
明哥的运维笔记
2019/01/30
5.7K0
web前端url传递值 js加密解密
一:Js的Url中传递中文参数乱码问题,重点:encodeURI编码,decodeURI解码:
小小许
2018/09/20
6.1K0
java.lang.ThreadLocal变量信息如何多线程传递,避免信息丢失
java.lang.ThreadLocal变量在多线程环境下,如何避免信息丢失传递
崔认知
2023/06/19
2370
java.lang.ThreadLocal变量信息如何多线程传递,避免信息丢失
mapreduce主程序如何传递变量到map或者reduce函数中使用
    一般我们写的mapreduce主程序放在客户端机器上,执行任务时是在集群机器上,所以要将变量从主程序传递到我们自己写的map或者reduce函数中就不能使用全局变量,因为map和reduce函数的执行是在集群的内存中,而mapreduce主程序的执行是在客户端机器的内存中。可以使用以下方法解决:     1 首先全局变量不可以使用,因为全局变量是在运行mapreduce主程序的机器内存当中,在集群的内存中是无法调用的。     2 通过写入mapreduce文件方式,这样如果数据量比较大新增这么一个
闵开慧
2018/03/30
1.6K0
论函数的设计应如何才好,返回临时变量 | 返回引用 | 传递引用
首先这个函数里面,会发生两次构造函数,一次是 变量t,另外一次是return 前,做的一次拷贝构造
forxtz
2020/10/10
2.1K0
[Nginx] Nginx配置PHP应用传递PATH_INFO变量
fastcgi_split_path_info  ^(.+\.php)(/.*)$; 这种是贪婪匹配,具体区别看下图
唯一Chat
2022/02/19
8760
[Nginx] Nginx配置PHP应用传递PATH_INFO变量

相似问题

jQuery动画以在画布上移动文本

35

在画布中动画对象

21

动态移动画布上的对象

12

可以使用ObjectAnimator在画布上为对象设置动画吗?

13

画布和Javascript对象上的Javascript动画

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档