| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > ОПП - функция для <img> |
| Автор: WideSpeC 5.10.2007, 18:06 |
| Мне нужно сделать такую штуку: MyImgName1.MyFunc(ImSrc,ImWidth); MyImgName2.MyFunc(ImSrc,ImWidth); ... и т. д. Функция должна быть всего одна. Впереди подставляются имена объектов типа <IMG>, которые она меняет. По скудным статейкам по ООП не разобрался. Может кто-нибудь знает книгу? А формирование команд через EVAL - дебилистическое занятие. Хочецца увидеть рабочий пример функции, устанавливающей SRC или WIDTH. И она должна работать не только на Netscape, но и на большинстве браузеров. |
| Автор: Тутанхамец 6.10.2007, 09:59 | ||
А тебе принципиально использовать ООП-синтаксис? Может проще сделать функцию типа:
|
| Автор: dsCode 6.10.2007, 12:02 | ||
WideSpeC, делаете обычный объект ("класс"), основная проперть которого будет изображение (объект изображения или srс его). Реализуете необходимые методы. В общих чертах - что-то вроде:
|
| Автор: solenko 6.10.2007, 13:40 |
| Чисто академический интерес... Можно как-то расширить стандартные DOM классы? Ведь можно же добавить Array.prototype.sume_function = ... А для DOMElement можно такое как-то сделать? |
| Автор: vasac 6.10.2007, 21:50 |
| Можно во всех нормальных браузерах. Аналогично Array. В ненормально браузере DOM-объекты не имеют прототипов. |
| Автор: AKS 7.10.2007, 10:49 |
Зато они имеют behavior и htc. |
| Автор: vasac 7.10.2007, 13:25 |
Ну, вобщем я тоже не сторонник заявлений "единственные стандарты — w3c, а IE отстой". Есть много моментов, где IE лучше. Но почему при всех его достоинствах, у DOM-элементов нет прототипов? Почему в обработчиках событий this ссылается фиг знает куда? Почему элементарные замыкания текут, а разработчики несколько лет писали в своих блогах, как это обходить, прежде чем взять и просто исправить? |
| Автор: AKS 7.10.2007, 18:31 |
| vasac, столько вопросов, а ответ-то один. Все это потому, что в IE элементы документа не являются объектами JScript. Интерфейс DOM устроен иначе, и переделывать его для того, чтобы предоставить доступ к предкам нод, не станет никто. Вот пример одной из причин. Даже авторы js-скриптов не хотят переделывать свою писанину, приговаривая: "А оно и так работает, зачем мне это нужно". Так что уж говорить о IE-движке? Добавлено через 3 минуты и 37 секунд Да, кстати. Давно ли это все "добро" (HTMLElement и проч.) появилось в Safary, к примеру, или в Opera? |
| Автор: vasac 7.10.2007, 18:56 | ||
Сафари в баню )
Ну, вот и именно. А почему? |
| Автор: AKS 7.10.2007, 19:08 |
Пока мне не посчастливилось где-нибудь прочесть исповедь разработчиков IE касательно этого вопроса. Вообще, в какие времена-то уходит корнями IE-движок, а? Я вот в прошлом году узнал кое-что об window.event в IE. Сначала обалдел, а потом призадумался: "Да это же сделано в какие дремучие времена - чего же ожидать". О том и пишу, что "поросло все мхом", но переделывать - зачем? Что за необходимость, спросит нас с Вами разработчик IE, в HTMLElement'е? |