2012-05-19 4 views
2

У меня есть <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(); 
}; 
})(); 

Вынесенная скрипт работает хорошо, но я хочу, чтобы приостановить текст onmouseover и onmouseout позволяют продолжить работу. Кроме того, onclick Я хочу остановить его навсегда.

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

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

onclick не работает, однако. Несмотря на то, что я очищаю интервал, обработчик onmouseout заставляет текст запускаться снова. Как я могу это предотвратить?

+0

Так нажав следует остановить/из курсора, находящейся функцию для остального времени пользователя находится на странице? – j08691

+0

onmouseover он должен приостановить, onmouseout он должен продолжить и onclick я хочу остановиться до обновления страницы :)) – tnanoba

ответ

2

При щелчке установите флажок. Затем установите флаг в onmouseout обработчика:

var clicked = false; 

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

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

очень мило, как я не могу думать, начиная попробовать, спасибо :)) – tnanoba

Смежные вопросы