У меня по непонятной причине setTimeout вообще никаких движений не производит, пробовал уже просто в функцию его вставить, ноль реакции
lis[i].onmouseout=function() {
setTimeout("alert('gbhh')",3000);
this.className=this.className.replace(new RegExp(" iehover\\b"), "");
|
Levin,
У вас ошибка где-то в другом месте, потому что вызов:
setTimeout("alert('gbhh')",3000);
Работает. |
Упс, извеняюсь, он в Firefox не работает почему то, в IE работает. Но от этого не легче. Мне надо вставить, насколько я понимаю, setTimeout в строку
this.className=this.className.replace(new RegExp(" iehover\\b"), "");
я прав? |
Цитата:
lis[i].onmouseout=function() {
setTimeout("alert('gbhh')",3000);
this.className=this.className.replace(/ iehover\b/, "");
}
Должно работать! |
To ZoNT: поздравляю с новой ученой степенью :-)
setTimeout работает (правда в Firefox не хочет, но это не важно пока). Цитата:
this.className=this.className.replace(new RegExp(" iehover\\b"), "");
, и setTimeout неодходимо внедрить сюда. Верно? |
Levin,
Вам тут нужно будет применить хитрость, для передачи элемента в нужную область видимости:
lis[i].onmouseout = function() {
setTimeout(function(element) {
return function() {
element.className=element.className.replace(/ iehover\b/, "");
}
}(this),3000);
}
|
Ух, работает!!!
Спасибо большое, при 0,15 сек. вариант очень даже приемлемый!!! Хитро, можно коментарии оставить, а то я немного запутался. Понять все таки хочется. |
Levin,
// Обворачиваем функцию в локальное замыкание:
function(element) {
// Возвращаем функцию, которая использует element
// доступный в локальной области видимости:
return function() {
element.className=element.className.replace(/ iehover\b/, "");
}
// Запускаем эту функцию с параметром this - текущий элемент
// теперь в setTimeout передана функция, которая вернулась
// по return
}(this);
|
Андрей Параничев, перемудрили что-то
lis[i].onmouseout = function() {
var self = this;
setTimeout(function() {
self.className = self.className.replace(/ iehover\b/, "");
}, 3000);
}
|
Kolyaj,
Не подумал, виноват :) |
| Часовой пояс GMT +3, время: 06:51. |