当前位置:首页 > 日记 > 正文

javascript实现鼠标单击页面移动div

javascript实现鼠标单击页面移动div

移动/ / /方式
无功chomove = false;
是否绑定单击
无功isclick =真;
div参考
无功odiv = null;
输入输入/引用
无功oinput = null;
公共对象事件绑定包
无功evnetutil = { {
AddEventHandle:功能(oelement,evtype,好玩){
oelement.attacheventoelement.attachevent(+ evtype,好玩):oelement.addeventlistener(evtype,有趣,假);
},
RemoveEventHandle:功能(oelement,evtype,好玩){
oelement.detacheventoelement.detachevent(+ evtype,好玩):oelement.removeeventlistener(evtype,有趣,假);
}
}
根据开关,使文档点击不同动画的事件绑定功能。
无功eventmove =函数(事件){
VaR EV =事件window.event | |;
chomove = = trueclickmove(EV):slidemove(EV);
}
根据动画移动鼠标点击位置
无功clickmove =功能(CEV){
VaR mouseX = cev.clientx; / /横坐标的鼠标点击
无功多的= cev.clienty; / /垂直坐标,鼠标点击
取消功能文档单击事件绑定,为了避免动画,单击页面将再次触发此动画。
EvnetUtil.removeEventHandle(文档,点击',eventmove);
无功setclimove = setInterval()函数(){
无功odivleft = odiv.offsetleft; / / div页面左侧的价值;
无功odivtop = odiv.offsettop; / / div页面中的最高值;
横坐标速度 / *移动,即每30毫秒,移动Speedx距离
* mouseX odivleft当前div和目标点之间的距离,
*除以5是把距离分成5部分。
*分母5越小,距离越小,移动速度越慢。
* /
VaR Speedx =(mouseX odivleft) / 5;
该移动 / /速度的纵坐标,每30毫秒,移动Speedx距离,快速的距离是变化的,点击鼠标的接近的位置,这个值小
无功快速=(像老鼠的odivtop) / 5;
这里必须使用向上或向下的功能选择(Math.ceil和数学。楼)
*因为Speedx、快速是一个变化值,DIV和鼠标点击的点的x坐标之间的距离平均分为5分。
* mouseX = = odiv.offsetleft永远是平等的,将不会执行里面的语句,所以这样循环下去
* /
odivleft = mouseX odivleft > 0math.ceil(odivleft + Speedx):Math.floor(odivleft + Speedx);
odivtop =老鼠odivtop > 0math.ceil(odivtop +快速):Math.floor(odivtop +快速);
console.log(odivleft);
当每个时间加上顶部或左边的值,即每30毫秒移动距离时,得到新的坐标。
odiv.style.left = odivleft +PX;
odiv.style.top = odivtop +PX;
如果鼠标到达的位置单击
如果(mouseX = = odiv.offsetleft老鼠= = odiv。offsettop){
清除此动作动画
ClearInterval(setclimove);
恢复文档单击绑定事件
EvnetUtil.addEventHandle(文档,点击',eventmove);
}
},30);
}
根据移动鼠标动画的轨迹
无功slidemove =功能(CEV){
在制作过程中发出警报();
}
绑定事件,更改输入的状态(事件对象,输入对象,单击输入徽标)
VaR约束=功能(CEV,OELEM,指数){
防止同一输入中的多个点击
如果(oelem.classname = ={)
OELEM。值= OELEM。价值+(激活)
oelem.classname =杂种;
}
显示不同的文本,点击不同的输入和不同的动画激活开关。
如果(索引= 0){
oinput { 1 }。值=将根据鼠标轨迹;
oinput { 1 }。类名= ;
chomove =真;
其他{ }
oinput { 0 }。值=将根据鼠标单击的位置;
oinput { 0 }。类名= ;
chomove = false;
}
只有一个文档,再次单击,不需要绑定,只需要启用不同的动画模式。
如果(isclick){
EvnetUtil.addEventHandle(文档,点击',eventmove);
isclick = false;
}
/ /防止泡沫
cev.stoppropagation cev.stoppropagation():(CEV。cancelbubble = true);
}
在window.onload =函数(){
oinput = document.getelementsbytagname(输入);
odiv = document.getelementsbytagname(div){ 0 };

oinput { 0 }。onclick =函数(事件){
var =;
VaR EV =事件window.event | |;
绑定(EV,这,0);
}

oinput { 1 }。onclick =函数(事件){
var =;
VaR EV =事件window.event | |;
绑定(EV,这,1);
}
}
一、原理分析:

1。你怎么动

移动div的参考点(x,y),它的本质是同时改变两值div div.style.top和div.style.left;

2。你怎么看这个运动

因为您希望具有移动效果,而不是突然将div的左值和左值更改为另一个值,所以您需要使用它。

setInterval这堵功能允许执行的函数和延迟,所以你可以看到运动的影响。(只要一些动作中使用此功能);

二、现实思考

1。速度

速度的概念必然与运动密不可分。在这种情况下,速度是变化的,也就是说,div和鼠标单击坐标之间的距离越大,这个速度就越快。相反,速度越慢。为了保证不同距离的运动同时完成。

因此,速度=距离/固定值;

这样,距离越大,速度越快。反之亦然。

2。如何判断div移动到鼠标的点击点

也就是说,div的左值和顶值等于鼠标单击的x和y值。

在这个例子中,使用的功能(Math.ceil和数学。楼),你可以在代码中看到的注释。

总结:写这篇文章太复杂了,所以它被卡住了半天,这个想法必须明确,然后再做。

以上是本文的全部内容,希望能对您有所帮助,谢谢您的支持!

相关文章

CDR设计2015新年快乐海报

CDR设计2015新年快乐海报

海报,新年,快乐,电脑软件,CDR,2014将要过去,这将是2015只羊的年。今天我要向大家解释2015的新年快乐。 方法 1,首先,我们在计算机桌面上找到CDR软件,然后点击CDR软件。 2、当{ }打开CDR软件,我们点击mdash;mdash;文件mdash;mdash;一个合适的大小,建…

使用TeraCopy软件快速复制文件

使用TeraCopy软件快速复制文件

复制文件,快速,电脑软件,TeraCopy,今天,当文件大小是GB级别时,使用Windows系统的内置文件复制功能传输文件常常效率低下,效率低下,尤其是当文件复制操作突然中断时,先前复制的副本的内容可能会消失。不幸的是,当用户遇到这样的问题,用户可以只复制…

让傲游和IE分离剂

让傲游和IE分离剂

傲游,电脑软件,问:由于需要,我有一个网站使用特定的代理服务器登录,但在伊江的代理服务器设置中,傲游也跟着使用了这个代理,导致很多其他网站不正常打开。 答:打开傲游浏览器,按Alt + F按钮打开菜单,选择代理点,选择不使用代理或选择管理,输入更详细…

如何破解密码的基础和Excel

如何破解密码的基础和Excel

密码,破解,基础,电脑软件,Excel,很多用户为了保护办公文件的内容,将添加一个密码,使用的时候很麻烦;或者你不小心把Excel2007密码忘了,不要用他最后的方法文件,让萧边为你带来Excel2007密码。 打破Excel2007密码步骤: 在Excel2007文件编辑XML文…

win7完全卸载Oracle11g图步骤

win7完全卸载Oracle11g图步骤

步骤,卸载,电脑软件,Oracle11g,在线数据结合的一套完整的可靠的Oracle 11g的操作步骤!(win7)的具体内容具体如下: 1:停止所有Oracle相关服务 1.1开放服务的方式如下: 1.1.1:右击计算机->管理->服务和应用程序->服务 1.1.2:开始->点击搜索->点击…

JS数字舍入误差及解决办法(必看)

JS数字舍入误差及解决办法(必看)

数字,舍入误差,必看,解决办法,电脑软件,1。原因: 返回结果是真的。 2、原因:计算机的二进制实现和数量限制不能被限制,像一些无理数不能被限制,如pi,3.1415926…1.3333…js遵循IEEE 754规范,采用双精度存储(双精度),占用64位。 三.解决 (1)固定(),存…

用PS把人物完美地融入到书中

用PS把人物完美地融入到书中

书中,完美,人物,电脑软件,PS,本教程主要是与大家分享在PS.的文字合成方法,教程非常基础。很适合初学者学习和推荐。 方法/步骤 1、打开背景资料,套索是笔是随机的,建议使用钢笔,在书中选边。 2。选择加载后,将存储通道作为选择。进入通道并单…

的时间和日期格式显示GridView问题

的时间和日期格式显示GridView问题

日期格式,显示,时间,电脑软件,GridView,以下是GridView最常用的日期时间格式 形式 语法 结果 笔记 数 { 0:n2 } 十二点三六 数 { 0 }:N0 十三 货币 { 0:C2 } 12.36美元 货币 { 0:C4 } 12.3656美元 货币 $ 0:n2 } 12.36美元 科学计数法 { 0…

AI如何调整绘图序列AI设置绘图板顺

AI如何调整绘图序列AI设置绘图板顺

设置,调整,绘图,绘图板,序列,在朋友问我如何修改面板的顺序之前,事实上,在AI软件中,面板序列的调整类似于图层前的调整,尤其是用小编辑器来看看。 软件名称:Adobe Illustrator CS6(AI CS6)简化绿色中文版(32位+ 64位)软件大小:205mb更新时间:2014-05-…

PPT如何录制为视频教程PPT制作课程

PPT如何录制为视频教程PPT制作课程

视频教程,课程,电脑软件,PPT,如何把PPT录制成视频实际上,这个方法很简单。当它只是从其他版本转换时,它不应该太清楚。没关系.接下来,小编将与你分享如何录制视频的PPT。 视频录制方法 ppt文件首先打造一个个性美丽、个性色彩的元素!如图所示…

的微信小程序教程注册页面

的微信小程序教程注册页面

注册,教程,页面,程序,电脑软件,系列文章: 微信小程序教程模块 的微信小程序教程注册页面 的微信小课程的注册程序 微信小程序- Page 页面()函数用于注册页面。接受一个对象参数,它指定页面的初始数据、生命周期函数、事件处理函数等。 对…