js控制一个div移动,当鼠标移动到该div上停止移动,我只做出了移动,求大神指导停止。

function move(){
var d = document;
var db = document.body;
var div = d.getElementById("movediv");//移动的div在html里命名的id为movediv
var timer;
var x=3,y=3;
var ds = div.style;
timer = setInterval(function (){
//步长写死为5px
if(div.offsetWidth+div.offsetLeft>=db.clientWidth){
x=-x;
}
else if(div.offsetHeight+div.offsetTop>=db.clientHeight){
y=-y;
}
else if(div.offsetLeft<=0){
x=3;
}
else if(div.offsetTop<=0){
y=3;
}
ds.left=(div.offsetLeft+x) + 'px';
ds.top =(div.offsetTop+y) + 'px';

},40);
}
function stop() {
//这就是要实现停止的方法
}

move()方法是在body的onload="move()"调用的,stop()期望在移动的div中用onmouseover="stop()"调用

<body onload="move()">
<div id="movediv" onmouseout="move()" onmouseover="stop()"></div>
<script type="text/javascript">
var timer;
function move(){
,,,,,
}
function stop() {//这就是要实现停止的方法
clearInterval(timer);
}

timer要定义在外边,这样stop中才可以用

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-03-10
window.onload=function(){
    var div = document.getElementById("movediv");
    move();
    div.onmouseover=function(){stop();};
}
function stop(){
    clearInterval(timer);
}

由于作用域问题,你得在window对象的onload事件句柄中再获取一下div对象。

追问

你的也可以,很感谢你!!

追答

不客气~

本回答被网友采纳

js控制一个div移动,当鼠标移动到该div上停止移动,我只做出了移动,求大...
<body onload="move()"><div id="movediv" onmouseout="move()" onmouseover="stop()"><\/div><script type="text\/javascript">var timer;function move(){,,,}function stop() {\/\/这就是要实现停止的方法clearInterval(timer);}timer要定义在外边,这样stop中才可以用 ...

用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎...
你要的应该是拖拽效果,可以通过jq插件做 http:\/\/www.runoob.com\/jqueryui\/example-draggable.html基本原理就是鼠标按下修改div的left和top(或者right\/bottom)。鼠标离开不变。<!DOCTYPE html><html><head><script src="\/jquery\/jquery-1.11.1.min.js"><\/script><Style>#test{position:absolute;...

js判断鼠标位置是否在某个div中
解决的办法是当触发onmouseout事件时,先判断鼠标是否在div内,如果在,说明鼠标并没有离开div,就不删除div,否则,删除之。OK,现在问题解决了。就是找到该div左上角和右下角坐标,判断鼠标的坐标是否在这一区域就可以了。div.onmouseout=function(event){ var div = document.getElementById("test");...

用js控制div跟随鼠标移动,鼠标点击后,鼠标离开,div留在当前点击的位置怎...
如果需要以后都留在此位置,需把当前位置的坐标保存到数据库,下次打开时读取数据加载div

怎样用js实现鼠标悬停一个div,让另一个div用指定的样
通过`addEventListener`监听事件并操作样式。先利用`document.querySelector`获取目标元素和要改变样式的元素。`addEventListener`用于监听目标元素的鼠标悬停和离开事件,通过`classList`添加或移除指定样式类。在CSS中预先定义样式类`hover-style`,便于JavaScript调用以实现悬停效果。

js鼠标移动到某元素显示div的问题!
代码直接贴上来不能正常显示,看附件。方法A:把浮动div和触发元素a放于同一个父级元素内,鼠标经过父级元素时触发显示。这样鼠标移动到div时仍然处于该父级元素内,则div不会隐藏。方法B:鼠标经过a时弹出div,鼠标离开a时设置一个计时器用来关闭div,如果鼠标移动到div后则清除计时器。

js设置光标位置(js获取光标所在元素)
5. js获取光标所在元素上的字符1.在文件夹中创建一个test的html文件,一个作为指针的ico图片cur,...2.在test创建一个div,id为a,并赋予宽高与背景色。3.在浏览器打开鼠标就是默认的样式。4.现在我们在div的后面添加script脚本,让鼠标移动到div上变为手形状。 6. js获取元素下标可以用JS中对List、Map的遍历...

js点击div移动位置?
box.style.left=a+'px';\/\/每点击一次,向右移动50px } jquery如何实现点击一个按钮div框从右→左,再点击按钮div框从刚刚的位置移动回原来的位置?1、新建一个html文件,命名为test.html。2、在test.html文件内,使用div标签创建一行文字,文字内容为“小明”。3、在test.html文件内,设置div标签的...

这种鼠标拖动div的JS是什么原理
这个的原理就是,当鼠标左键按下去的时候就显示那个半透明的DIV,并且监控鼠标动作,当鼠标移动时,那个半透明的div也跟着鼠标移动,再当你鼠标左键弹起时半透明的DIV就给他隐藏掉,并且将“自动刷新提示”的那个DIV移动到你鼠标左键弹起的那个位置。

怎样用JS实现在滚动的一行文字的时候,把鼠标移动到该文字上的时候使文字...
<MARQUEE id="msky" direction="left" width="780" scrolldelay ="200" onmouseover="this.stop();" onmouseout="this.start();">  <span class="style2"> 今天 晴转多云 25℃~34℃ 东南风3-4级<\/span><\/MARQUEE> ...

相似回答