【问题标题】:Running text: Pause, Stop运行文本:暂停、停止
【发布时间】:2012-05-19 15:35:47
【问题描述】:

我有<p> 元素:

<p id="news_title">Text goes here</p>

我在此 JavaScript 的帮助下运行文本:

(function(){
var j = 0;
var el = document.getElementById("news_title");
var interval;
function runEngine(){
    interval = setInterval(function(){
        if (j===200){
            j=-200;
        }
        el.style.left = j + "px";
        j++;
    },20);
}

window.onload = function(){
    runEngine();
};
})();

标记的脚本运行良好,但我想暂停文本 onmouseoveronmouseout 让它继续运行。另外,onclick我想永远停止它。

el.onmouseover = function(){
   clearInterval(interval);
};  // pausing , working nicely

el.onmouseout = function(){
    runEngine();
};  // also working

但是onclick 不起作用。即使我清除了间隔,onmouseout 处理程序也会导致文本再次运行。我怎样才能防止这种情况发生?

【问题讨论】:

  • 那么在用户停留在页面上的剩余时间里,点击应该停止鼠标悬停/移出功能?
  • onmouseover 它应该暂停,onmouseout 它应该继续并且 onclick 我想停止直到刷新页面:))

标签: javascript settimeout setinterval


【解决方案1】:

点击时,设置一个标志。然后检查onmouseout处理程序中的标志:

var clicked = false;

el.onclick = function() {
    clicked = true;
};

el.onmouseout = function() {
    if (!clicked) {
        runEngine();
    }
};

【讨论】:

  • 很可爱,我怎么想不到,开始尝试,谢谢:))
猜你喜欢
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 2015-06-25
  • 2021-12-27
  • 1970-01-01
  • 1970-01-01
  • 2013-09-25
  • 1970-01-01
相关资源
最近更新 更多