Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запуститъ переданный код внутри функции 
V
    Опции темы
BASILIO
  Дата 16.7.2011, 18:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Есть функция:
Код

slide = function(objname,napr,put,steps,speed,callf)
    {
    obj = document.getElementById(objname);
    switch(napr)
        {
        case 'down':
            {
            num = obj.offsetTop+steps;
            obj.style.top = num+'px';
            break;
            }
        case 'up':
            {
            num = obj.offsetTop-steps;
            obj.style.top = num+'px';
            break;
            }
        case 'left':
            {
            num = obj.offsetLeft-steps;
            obj.style.left = num+'px';
            break;
            }
        case 'right':
            {
            num = obj.offsetLeft+steps;
            obj.style.left = num+'px';
            break;
            }
        }
    newput = put-steps;
    if(newput <= 0)
        {/* ПРОБЛЕМА*/
        eval(callf);//'fade("top_menu_line_1","in",30,1,25)');//promt(callf);
        }
    else
        {
        tocall = 'slide("'+objname+'","'+napr+'",'+newput+','+steps+','+speed+')';
        setTimeout(tocall,speed);
        }
    }


Вызываю через:
Код

slide('top_menu_main_container','down',30,1,25,'fade("top_menu_line_1","in",30,1,25)');


Eсли написать в строке с проблемой просто "fade("top_menu_line_1","in",30,1,25);" то всё запуститься, а вот тоже самое но переданное аргументом не хочет ни в какую :(

Подправьте плз. код, чтобы там запускалась переданная аргументом функция. Спасибо.
PM   Вверх
нуп
Дата 16.7.2011, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Если удалть все кроме проблемной строчки, то код работает  smile 
PM MAIL   Вверх
BASILIO
Дата 16.7.2011, 19:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



нуп,  в плане работает, код передоваеммый callf не срабатывает
PM   Вверх
нуп
Дата 16.7.2011, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Код

function slide(objname,napr,put,steps,speed,callf)
   {
        eval(callf);
   }

slide('top_menu_main_container','down',30,1,25,'fade("top_menu_line_1","in",30,1,25)');

Работает!
PM MAIL   Вверх
BASILIO
Дата 16.7.2011, 20:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



нуп, а оно должно так же работать если вызываемая функция самописная и не описана внутри вызываемой?

Добавлено через 2 минуты и 7 секунд
Решил проверить через:
Код

    if(newput <= 0)
        {alert(callf);
        eval(callf);
        }
    else
        {
        tocall = 'slide("'+objname+'","'+napr+'",'+newput+','+steps+','+speed+')';
        setTimeout(tocall,speed);
        }

Выдало undefined  smile 
PM   Вверх
нуп
Дата 16.7.2011, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ботокодер
**


Профиль
Группа: Участник
Сообщений: 987
Регистрация: 22.6.2009
Где: Кременчуг

Репутация: 13
Всего: 33



Ошибка в другом месте! 
PM MAIL   Вверх
BASILIO
Дата 16.7.2011, 23:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Koté-CAH
*


Профиль
Группа: Участник
Сообщений: 135
Регистрация: 25.2.2008

Репутация: нет
Всего: нет



Не смог найти где иммено, переписал полностью алгоритм, зашёл с другой стороны
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0447 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.