Показать сообщение отдельно
  #1 (permalink)  
Старый 16.05.2012, 21:08
Интересующийся
Отправить личное сообщение для celkabelka Посмотреть профиль Найти все сообщения от celkabelka
 
Регистрация: 16.05.2012
Сообщений: 10

Не могу к созданному объекту добавить методы!
Добрый вечер всем!

Решил попробовать сделать что-то наподобие своего JS фреймворка.

Значит сейчас приведу часть кода, в котором примитивно выполняется одно из действий фреймворка jQuery.

Сначала пример использования:

$('#block').style.border = '1px solid red';
Выделенную часть выполняет мой код)

Теперь что надо. Надо, чтобы работали свойства, то есть я хочу, чтобы можно было выполнять такое:
$('#block').css('border', '1px solid red'); , то есть должен быть метод css.

Небольшое придесловие - я много ковырялся сегодня и сейчас будет последний вариант, я не знаю, может я с самого начала не правильно делал реализацию, но я пробовал и с объектами что-то делать и все-равно не получалось..

В ОБЩЕМ ВОТ:

(function( global ) {

    var Main = function() {

        var public = this;

        public.getEl = function( selector ) {

            if( selector.indexOf( '#' ) + 1 ) {

                selector = selector.replace( /#/g, '' );
                return document.getElementById( selector );

            } else if ( selector.indexOf( '.' ) + 1 ) {

                selector = selector.replace( /\./g, '' );
                return document.getElementsByClassName( selector );

            } else {

                return document.getElementsByTagName( selector );

            }

        }

    }

    $ = function( selector ) {

        var el = new Main();
        return el.getEl( selector );

    };

})(  );


Вот реализация метода css:

var css = function(nameProperty, newValue) {
        this.style.nameProperty = newValue;
    }


Как видно, то там класс main с методом getEl, что позволяет найти элеметы.

Не знаю понятно ли я объяснил, если - нет спросите) Я с удовольствием отвечу!

ps
если удобно, то можете привести пример конструкции реализации примитивного фремворка.

Последний раз редактировалось celkabelka, 16.05.2012 в 21:12.
Ответить с цитированием