为了账号安全,请及时绑定邮箱和手机立即绑定

js跟随鼠标移动只能往右下移动怎么回事。

js跟随鼠标移动只能往右下移动怎么回事。

昔日灬虚无 2016-08-17 09:23:37
window.onload=function(){ var pic=document.getElementById('pic'); pic.onmousemove=function(){ var x=window.event.clientX; var y=window.event.clientY; pic.style.left=x+'px'; pic.style.top=y+'px'; }; };
查看完整描述

3 回答

已采纳
?
玉林峰

TA贡献14条经验 获得超9个赞

pic.onmousemove这句有问题,应该是document.onmousemove,应该给document加mousemove事件

因为你是给pic加的移入事件,所以当鼠标移出pic的时候就不执行mousemove里面的事件了,所以只能在pic里面移动才会触发mousemove事件,另外你的mousemove函数里面没有传事件对象ev

查看完整回答
反对 回复 2016-08-17
  • 昔日灬虚无
    昔日灬虚无
    本来就是鼠标在图像上图像再移动,这不是重点,重点是只能右下移动,不能向左或上移动。。不传ev也可以吧。。
  • 昔日灬虚无
    昔日灬虚无
    的确这句有问题。应该是获取x,y值时以图片左上角为原点啦。所以取不到图片左方上方。
  • 玉林峰
    玉林峰
    你还要写一个变量 var disX = ev.clientX-this.offsetLeft; var disY = ev.clientY-this.offsetTop; pic.style.left = window.event.clientX - disX + 'px'; pic.style.top = window.event.clientY - disY = 'px';
?
chy_zsy

TA贡献8条经验 获得超9个赞

你的style。left增加px那就是是给左边填充一块为y的区域.那不就是往右移嘛。top同理

查看完整回答
反对 回复 2016-08-17
  • 3 回答
  • 0 关注
  • 2080 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信