![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| bondarenko_a |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
Помогите пожалуйста человеку!
Как сделать в функции ссылку на объект не из этого объекта а из самой функции, передачей id как параметра. У меня не получается
вызываю функцию так:
У меня какая то синтаксическая ошибка? Это сообщение отредактировал(а) bondarenko_a - 16.11.2006, 16:46 |
||||
|
|||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 6 Всего: 14 |
Вообщето нельзя вызывать из setTimeout("wid(ob)",10); функцию с параметрами. убирай объект ob.
-------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| bondarenko_a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
А как же обратиться к конкретному объекту?
|
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
Так напиши: setTimeout("wid('"+ob+"')",10);
-------------------- ...все в мире относительно |
|||
|
||||
| 12345c |
|
|||
![]() Круглый ![]() ![]() ![]() ![]() Профиль Группа: Vingrad developer Сообщений: 2018 Регистрация: 26.12.2005 Где: наша не пропадала ? Репутация: 57 Всего: 101 |
Как обычно, по имени. Передавайте не объект, а имя (строку), которое можно будет вставить в строку функции setTimeout
Добавлено @ 17:02 Нет, то, что выше (setTimeout("wid('"+ob+"')",10); ) , будет верно, если ob - строка. |
|||
|
||||
| GIK |
|
|||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 6 Всего: 14 |
Да как обычно -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
|||
|
||||
| bondarenko_a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
Спасибо, Nicholas_S,
|
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
bondarenko_a, а, нзчт!
12345c, если внимательно посмотришь, ob - строка, возвращается объект по ID: document.getElementById(ob)... -------------------- ...все в мире относительно |
|||
|
||||
| bondarenko_a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
Ну да ob - строка.
Эта функция может быть применима к разным объектам с разными id. Поэтому парамтр здесь - id. А как сослаться на обьект? И изменять его параметры с пом переменной (без this)??? Это сообщение отредактировал(а) bondarenko_a - 16.11.2006, 17:08 |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
bondarenko_a, не очень понял вопрос. document.getElementById(ob) - и есть ссылка на объект, это оптимальный вариант.
-------------------- ...все в мире относительно |
|||
|
||||
| bondarenko_a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
Nicholas_S, Серьезно?
Так и запишем. Просто в учебниках есть примеры, когда функции вызываются из самих объектов ссылкой this и в самой функции не требуется писать конструкцию document.getElementById(ob).bla.bla.bla, а достаточно this.bla.bla.bla. А если функция вызывается не из самого объекта, то так не получится. |
|||
|
||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
bondarenko_a, правильно. Не юзай this в данном примере.
-------------------- ...все в мире относительно |
|||
|
||||
| Avb |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.7.2006 Репутация: 4 Всего: 13 |
bondarenko_a, выложи, плиз, пример и напиши, что конкретно в этом примере хочешь получить. Чувствую, что сделать так как ты хочешь можно, но не совсем понимаю в чем именно вопрос.
|
|||
|
||||
| bondarenko_a |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
Avb, Я пока не работаю над такой задачей. Но вполне могу с ней столкнуться.
Например, есть такая функция:
В примере ее вызывают из самого объекта:
А если эту функцию надо вызвать из другой функции, или из другого объекта. Как передать ссылку на объект с уникальным id, или массив подобных объектов? З.Ы. Не кидайте в меня камнями. Для меня javascript - новое и неизученное. |
||||
|
|||||
| GIK |
|
||||
![]() Добрый человек ![]() ![]() Профиль Группа: Участник Сообщений: 985 Регистрация: 3.6.2005 Где: я только не небыв ал Репутация: 6 Всего: 14 |
Добавлено @ 17:43
Ссылку можно создать в ДРУГОЙ функции, например так var ebjeckt=document.getElementById("id"); и передать ее куда угодно, а еще есть возможность передавать ссылку на объект, глобальной переменной (определенной вне функций) и использовать ее из других функций. -------------------- Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!! Программирование - это не деятельнось! Программирование - это состояние души! Бог - самый крутой программист. |
||||
|
|||||
| Nicholas_S |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 12.10.2006 Где: Санкт-Петербург Репутация: 5 Всего: 19 |
bondarenko_a, в этом случае тебе поможет глобальная переменная (массив), куда ты можешь изначально записать ссылку на объект. Но, все же, это не есть хорошее решение, тем более что эта глоб. переменная может быть перезаписана во время исполнения скрипта. Используй обычный id объекта и getElementById().
Это сообщение отредактировал(а) Nicholas_S - 16.11.2006, 17:45 -------------------- ...все в мире относительно |
|||
|
||||
| Avb |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 5.7.2006 Репутация: 4 Всего: 13 |
bondarenko_a, ну перед вызовом функции получаешь ссылку на объект (тем же getElementById) и передаешь ее в качестве параметра
|
|||
|
||||
| bondarenko_a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
GIK, Спасибо. Пример двойнойссылки. Пригодится
|
|||
|
||||
| bondarenko_a |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 94 Регистрация: 20.9.2006 Где: Kiev Репутация: нет Всего: 1 |
Ребята, всем агромное мега-спасибо!
|
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |