пауза при наведении - поясните пожалуйста
вот есть такая ф-я:
$(function() { var MenuShowTimer; $('.wait05').hover( function(e) { MenuShowTimer = setTimeout( (function(Obj) { return function() {$(Obj).next().fadeIn();}; // то что должно происходить }) (this),1000) }, // mouse leave сбрасывает таймер function(e) { clearTimeout(MenuShowTimer); $(this).next().fadeOut(); // то что должно происходить } ); }); а вопрос такой - почему эта часть: $('.wait05').hover( function(e) { MenuShowTimer = setTimeout( (function(Obj) { return function() {$(Obj).next().fadeIn();}; // то что должно происходить }) (this),1000) ...не работает (пауза отсутствует) в таком виде: $('.wait05').hover( function(e) { MenuShowTimer = setTimeout( (function(Obj) { return some_function(e); }) (this),1000) или даже в таком: $('.wait05').hover( function(e) { MenuShowTimer = setTimeout( (some_function(e)) (this),1000) т.е. хотелось бы сократить и вынести во внешнюю ф-ю, но не выходит почему-то работает только через return function() {some_function(e);} |
Цитата:
some_function(e) выполняется сразу, кагбэ готовя другую функцию для setTimeout()... Т.е. ты просто не понимаешь сам что написал. Вот если бы some_function(e) возвращала бы функцию для setTimeout(), тогда бы та функция выполнилась после паузы... Цитата:
|
Цитата:
https://learn.javascript.ru/bind |
Часовой пояс GMT +3, время: 04:48. |