Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   отследить событие произошло оно или нет в другой функции (https://javascript.ru/forum/misc/37042-otsledit-sobytie-proizoshlo-ono-ili-net-v-drugojj-funkcii.html)

jei 05.04.2013 13:46

отследить событие произошло оно или нет в другой функции
 
Как отследить событие произошло оно или нет в другой функции.
Как бы проверять постоянно мониторить если оно произошло значит не выполнять какие то действия событие onmouseover

danik.js 05.04.2013 15:06

Событие не может произойти в какой-то функции. Оно может либо произойти, либо не произойти. И мониторить события не нужно. В этом и есть смысл событий - при возникновении события браузер автоматически вызывает обработчик.

jei 05.04.2013 16:10

Хорошо тогда тебе будет ещё сложней сейчас ответить как сделать выход из функций при возникновении события.Подчеркиваю выход из другой функций которая не относится к событию.

jei 05.04.2013 16:13

Проще говорю простая фотогалерея меняется картинки .Теперь наводим на меню.Функция должна прерваться

<div id="show1" onmouseover="start1();" onmouseout="stop1();">Предоставление сервиса 24 часа/сутки</div>


function start1(){
document.getElementById("hov1").style.display = "block";
}


setInterval(function sdasdasd() {
setTimeout(function func0() {
     func1();
    }, 0);
setTimeout(function func01() {
     func22();
    }, 1000); 
}, 1000);	
	
function func1(){
setTimeout(function func2() {
        document.getElementById("hov1").style.display = "block"
    }, 1000);
  setTimeout(function func3() {
        document.getElementById("hov1").style.display = "none"
    }, 2000);
}	

function func22(){
setTimeout(function func2() {
        document.getElementById("hov2").style.display = "block"
    }, 1000);
  setTimeout(function func3() {
        document.getElementById("hov2").style.display = "none"
    }, 2000);
}

tsigel 05.04.2013 16:20

Цитата:

Сообщение от jei (Сообщение 244420)
Проще говорю простая фотогалерея меняется картинки .Теперь наводим на меню.Функция должна прерваться

<div id="show1" onmouseover="start1();" onmouseout="stop1();">Предоставление сервиса 24 часа/сутки</div>


function start1(){
document.getElementById("hov1").style.display = "block";
}


setInterval(function sdasdasd() {
setTimeout(function func0() {
     func1();
    }, 0);
setTimeout(function func01() {
     func22();
    }, 1000); 
}, 1000);	
	
function func1(){
setTimeout(function func2() {
        document.getElementById("hov1").style.display = "block"
    }, 1000);
  setTimeout(function func3() {
        document.getElementById("hov1").style.display = "none"
    }, 2000);
}	

function func22(){
setTimeout(function func2() {
        document.getElementById("hov2").style.display = "block"
    }, 1000);
  setTimeout(function func3() {
        document.getElementById("hov2").style.display = "none"
    }, 2000);
}

Жесть какая-то)

tsigel 05.04.2013 16:23

Я так понимаю что тут надо просто обнулить таймер выполнения ваших функций и их выполнение остановится.

nerv_ 05.04.2013 16:28

tsigel, только хардкор :)

megaupload 05.04.2013 16:28

var ololo = false

onmousedown  =  function(){ ololo = true }
onmouseup    =  function(){ ololo = false }
onmousemove  =  function(){ if(ololo) /* действия*/ }


спасибо - пожалуйста

jei 05.04.2013 18:13

Ты не понял megaupload
Функция уже изначально запущена без события.
А внутри события я и сам не дурак смог бы.В это и сложность.
Причём функция не может быть запущенна из функции события.
Так как она запущена сама по себе.И зависит только от события когда по нему наводят.
Вот как наверху заметили что то типо останавливать таймер.Или делать выход.

И кстати таких вариантов как этот я перебрал штук 100 не видит он переменных в другой функций.
var ololo = false
onmousedown  =  function(){ ololo = true }

Ervin 05.04.2013 20:03

Назначить setInterval и setTimeout к переменным?


Часовой пояс GMT +3, время: 06:19.