内联JS(OnMouseOver) - 重复一些东西直到MouseOut发生

时间:2012-06-04 12:51:04

标签: javascript jquery

考虑到我只能运行内联代码(没有外部js文件或标签),有没有办法每隔10ms运行一个给定的函数?

我只能使用:

<div onmouseover="functions here" onmouseout="functions here">

更具体地说,我想使用marginLeft以每10ms 50px向左移动另一个元素,但是我不能像上面提到的那样运行externail函数或js库。

我在考虑将其全部合并到setInterval(函数,10)的onmouseover中,但是当鼠标输出发生时我没有看到停止此操作的方法。

我知道我可以使用类似.on的jQuery事件处理程序,但这里不是一个选项,因为它们必须外部加载(不是内联)

1 个答案:

答案 0 :(得分:1)

设置全局变量:

<div onmouseover="if (!window.intervalId)
                  window.intervalId=setInterval(function() {/*your code*/}, 10);"
          onmouseout="clearInterval(window.intervalId); window.intervalId=null;">