Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.03.2013, 16:55
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

prototype DOM элементов
3драсти, подскажите пожалуйста есть ли у дом элементов прототип и как к нему добраться, хочу добавить свои методы например в дом объект таблицы. Например делаю так:
var table = document.querySelector('TABLE');

А как дальше?
Ответить с цитированием
  #2 (permalink)  
Старый 02.03.2013, 01:54
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<script>
Object.defineProperty(Element.prototype, 'fadeOut', {
    enumerable: false,
    value: function() {
        this.style.opacity = window.getComputedStyle(this).opacity;
        (function(){
            (this.opacity-=.05) < 0 ? this.display = "none": setTimeout(arguments.callee.bind(this), 100)}
        ).call(this.style)
    }
});
</script>
<button onclick="this.fadeOut()">Нажми меня</button>

Старые IE в пролете.
Ответить с цитированием
  #3 (permalink)  
Старый 02.03.2013, 13:10
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

это что такое?
Ответить с цитированием
  #4 (permalink)  
Старый 02.03.2013, 13:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от simple
это что такое?
simple, кажется у тебя провал в памяти
Ты ведь вчера спрашивал про то, есть ли у DOM-элементов прототип и как его изменять.
Ответить с цитированием
  #5 (permalink)  
Старый 02.03.2013, 14:52
Аватар для simple
Профессор
Отправить личное сообщение для simple Посмотреть профиль Найти все сообщения от simple
 
Регистрация: 23.09.2010
Сообщений: 247

ааа вспомнил...
нет я просто ожидал увидеть нечто привычное...DOMelem.prototype.method...т ипо такого, а тут на css что то замешано не сразу понял, чтож буду разбираться, спасибо за ответ.
Ответить с цитированием
  #6 (permalink)  
Старый 02.03.2013, 14:58
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Можно конечно и Element.prototype.myMethod = function(){} безусловно. Просто Object.defineProperty позволяет выставить флаг enumerable = false.
А css тут для примера. В данном случае я продемонстрировал fadeOut.
Вообще, не стоит изменять прототипы встроенных объектов. Обычно это делается только в костылях (polyfills) для исправления косяков браузеров.
Ответить с цитированием
  #7 (permalink)  
Старый 02.03.2013, 17:44
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Сообщение от simple
это что такое?
код Почему так?
Сообщение от danik.js
enumerable: false
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получить список ВСЕХ элементов DOM Почемучкин Events/DOM/Window 7 16.04.2012 11:33
Какой прототип у элементов DOM Раед Events/DOM/Window 4 18.03.2012 15:37
поиск элементов в DOM Bebarr Swallow Общие вопросы Javascript 1 24.06.2011 14:57
Перебор DOM элементов DjDiablo jQuery 3 04.02.2011 16:26
DOM, определение стиля элементов Maximor17 Общие вопросы Javascript 3 04.11.2010 16:24