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

为什么我的代码运行起来会不停的闪烁,无法正确运行,求帮助

为什么我的代码运行起来会不停的闪烁,无法正确运行,求帮助

隔壁诸葛村夫 2016-10-05 20:37:56
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>my运动</title><!-- <link href="运动.css" type="text/css"  rel="stylesheet"/><script src="运动.js" type="text/javascript"></script> --><style type="text/css">*{ margin:0; padding:0;font-family:"宋体";}#myblock{width:200px;height:200px;background:#99CC33;position:relative;left:-200px;top:0;}#myblock span{width:50px;height:50px;position:absolute;left:200px;top:150px;background:#9900FF;}</style><script type="text/javascript">function  mouseOver(L){ var timer=null; clearInterval(timer); var adiv=document.getElementById("myblock"); timer= setInterval(function(){ var v=0; if(adiv.offsetLeft>L){ v=-10; } else{ v=10; } if(adiv.offsetLeft==L){ clearInterval(timer); } else{ adiv.style.left=adiv.offsetLeft+v+'px'; } },30);}</script></head><body> <div id="myblock"  onmouseover="mouseOver(0)" onmouseout="mouseOver(-200)" > <span >一个</span> </div></body></html>
查看完整描述

1 回答

已采纳
?
皓韵儿

TA贡献86条经验 获得超114个赞

你把  var timer=null;  设为全局变量, 要不然,你每次都会开一个计时器,所以会闪烁, 望采纳,谢谢

查看完整回答
1 反对 回复 2016-10-05
  • 隔壁诸葛村夫
    隔壁诸葛村夫
    计时器运行的不应该是运行setInterval(function(){},L)内的函数么?为什么外面的 var timer=null;也会影响他呢?
  • 皓韵儿
    皓韵儿
    对,但是只要你鼠标经过,就调用function mouseOver(L) 这个函数对吧, 每调用一次就会开一个新的计时器, 因为你的timer 在里面,所以会开一个新的计时器
  • 1 回答
  • 0 关注
  • 1396 浏览
慕课专栏
更多

添加回答

举报

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