2016-03-15 4 views
0

Как можно выбрать DOM элемент и цепь ряд действий для элемента, как это:Расширение DOM элемент функциональность

_my('#maindiv').move(100, 250).fadeOut(1000) 

Я понимаю, Jquery и множество других библиотек сделать выше, но я в немного потерь ...

Фактическая реализация не является необходимой, просто основным скелетом выбора и цепочки.

+0

Перед тем, как идти по пути расширения элементов DOM, читайте [* Что случилось с продлением DOM *] (http://perfectionkills.com/whats-wrong-with-extending-the-dom/) , После того, как вы впитаете это, вы должны решить, что вам нужен объект «обертка», который имеет все необходимые расширения и применяет их к набору элементов, связанных с объектом. На этом этапе вы начали реплицировать стратегию интерфейса, используемую большинством существующих библиотек DOM. – RobG

ответ

-1

Использование JQuery вы можете методы цепи:

$('#maindiv') 
    .css({left: 100, top: 250}) 
    .fadeOut(1000) 
    .addClass('.foo') 
    .toggleClass('.inactive', $(this).is(':checked')) 
; 

Проверьте внутри этих методов, чтобы увидеть, как сделать цепочки.

Как правило, вы выполняете функцию, как function _(selector), которая возвращает выбранный объект элемента со всеми его новыми функциями внутри.

function _(selector) { 
    var obj = { 
     el: document.getElementById(selector), 
     css: function (attributes, values) { 
      /* ... */ 

      return obj; 
     }, 
     fadeOut: function (speed) { 
      /* ... */ 

      return obj; 
     } 
    }; 

    return obj; 
} 
+0

Он не ищет jQuery, он ищет способ сделать подобный тип сцепления. –

Смежные вопросы