Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.07.2011, 19:09   #1
KOTBASILIO
 
Регистрация: 18.07.2011
Сообщений: 3
По умолчанию Перекрытие вариабл при повторном вызове функции

Написал сам:
Код:
var func_fade = null;
var func_fade_ring = null;
var fade_speed = 25;
var fade_step = 0.1;
var act_opacity = null;
var new_opacity = null;
var fade_obj = null;
var fade_direction = null;
func_fade = function(obj,direction)
    {
    fade_obj = obj;
    fade_direction = direction;
    func_fade_ring = function()
        {
        act_opacity = document.defaultView.getComputedStyle(fade_obj, null).opacity;
        switch(fade_direction)
            {
            case 0:
                {
                if(act_opacity > 0)
                    {
                    new_opacity = parseFloat(act_opacity) - parseFloat(fade_step);
                    fade_obj.style.opacity = parseFloat(new_opacity);
                    setTimeout('func_fade_ring()',fade_speed);
                    }
                else
                    {
                    fade_obj.style.display = 'none';
                    }
                break;
                }
            case 1:
                {
                if(document.defaultView.getComputedStyle(fade_obj, null).display == 'none')
                    {
                    fade_obj.style.opacity = 0;
                    fade_obj.style.display = 'block';
                    }
                if(act_opacity < 1)
                    {
                    new_opacity = parseFloat(act_opacity) + parseFloat(fade_step);
                    fade_obj.style.opacity = parseFloat(new_opacity);
                    setTimeout('func_fade_ring()',fade_speed);
                    }
                break;
                }
            }
        }
    func_fade_ring();
    }
всё вроде как работает, но если быстро два раза вызвать функцию, то вариаблы, перекрывают одна другую. Если инициализировать их внутри функции "func_fade" то таймер, когда пытается вызвать функцию, пишет, что не найдена вариабла вообще (
KOTBASILIO вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение, введенного пользователем, значения в поле TextBox, при повторном вызове формы Denis Ch Microsoft Office Excel 28 02.02.2012 01:12
Ошибка при вызове функции Access violation Hottabych Win Api 1 22.01.2011 20:35
Ошибка при вызове хранимой функции MySQL tavrocotaps Общие вопросы .NET 0 23.04.2010 10:25
как присвоить все три значения вектору В и вывести его как массив столбец при вызове функции Tomoa Microsoft Office Excel 8 08.03.2010 20:42
адрес не активной ячейки при вызове функции skachkovgd Microsoft Office Excel 4 06.12.2007 09:50