Программирование - это просто
Advertisement
Главная arrow Web-программирование arrow Уроки Java Script arrow Web-программирование: "Java Script: Библиотека визуальных компонентов. Методы базового класса."
01.05.2024 г.
Главное меню
Главная
Интернет магазин
Программные продукты
Биржевые роботы
Искусственный интеллект
Математика и информатика
1С:Предприятие
Уроки C#
Уроки Delphi
Уроки программирования
Web-программирование
Дизайн и графика
Компьютер для блондинок
Исходники
Статьи
Платный раздел
Рассказы про компьютеры
Хитрости и секреты
Системный подход
Размышления
Наука для чайников
Друзья сайта
Excel-это не сложно
Все о финансах
.
Web-программирование: "Java Script: Библиотека визуальных компонентов. Методы базового класса." Печать E-mail
Автор megabax   
15.07.2011 г.
Урок 13. Управление шрифтами в CSS New Page 1

Web-программирование: «Java Script: Библиотека визуальных компонентов. Методы базового класса. Продолжение».

 

Сегодня мы продолжим разбор методов класса CXBrBaseInterfaceClass. 

 

И так, _set_name - метод установки имени объекта, он еще и проверяет его на уникальность во всем дереве вложенности объектов (объекты можно поместить в контейнер, но до него мы еще дойдем). Вот реализация этого метода:

 

function CXBrBaseInterfaceClass_set_name(name) {

    if(this._owner!=null) {

        if(this._owner._global_get_by_name(name,this,true)!=null) {

            this._error("Имя "+name+" не уникально");

            return false;

        }

    } else {

        if(this._is_child_or_self("CXBrObjectsContainer")) {

            if(this._global_get_by_name(name,this,true)!=null) {

                this._error("Имя "+name+" не уникально");

                return false;

            }      

        }

    }

    this._name=name;

    return true;

}

 

Как происходит проверка на уникальность? Если объект вложен в контейнер (у него есть владелец, _owner не равен null), то производим поиск внутри этого контейнера, иначе проверяем, а не является ли наш объект сам контейнером? Если да, то поищем еще имя еще и у вложеных в него самого объектов. Если не нашли - имя уникально и его можно присвоить. Иначе выдаем сообщение об ошибке. 

Далее вам понадобятся исходники библиотеки. Если их у вас нет, скачайте их здесь.

Для того, что бы убедиться, что этот метод работает, используем вот такой тестовый пример:

<html>

 

<head>

  <title></title>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="XBrBase.js">

    </SCRIPT>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="XBrGlobalVars.js">

    </SCRIPT>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="XBrGlobalProc.js">

    </SCRIPT>

</head>

 

<body>

    <SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">

 

 

        var ob=new CXBrBaseInterfaceClass()

        var ob1=new CXBrBaseInterfaceClass()

 

        var cont = new CXBrObjectsContainer()

        cont._add(ob)

        cont._add(ob1)

               

        document.write("ob._set_name('Proba1')<br>")

        ob._set_name('Proba1');

        document.write("ob1._set_name('Proba1')<br>")

        ob1._set_name('Proba1');

        document.write("ob1._set_name('Proba2')<br>")

        ob1._set_name('Proba2');

       

        var cont1 = new CXBrObjectsContainer()

        cont1._add(cont)

        alert("Сейчас выполним cont1._set_name('Proba1')")

        document.write("cont1._set_name('Proba1')<br>")

        cont1._set_name('Proba1')

       

        var ob2=new CXBrBaseInterfaceClass()

        cont1._add(ob2)

 

        document.write("ob2._set_name('Proba1')<br>")

        ob2._set_name('Proba1');

        document.write("ob2._set_name('Proba2')<br>")

        ob2._set_name('Proba3');

    </SCRIPT>

</body>

 

</html>

 

Ну, и наконец два последних, самых легких метода класса CXBrBaseInterfaceClass, это _error и _get_name:

function CXBrBaseInterfaceClass_get_name() {return this._name}

 

function CXBrBaseInterfaceClass_error(errmsg) {

    alert(errmsg);

}

 

Все, теперь можно переходить к классу контейнеру, но это мы сделаем в будущих выпусках.

 

Последнее обновление ( 15.07.2011 г. )
 
« След.   Пред. »
 
© 2024 Программирование - это просто
Joomla! - свободное программное обеспечение, распространяемое по лицензии GNU/GPL.
Русская локализация © 2005-2008 Joom.Ru - Русский Дом Joomla!
Design by Mamboteam.com | Powered by Mambobanner.de
Я принимаю Яндекс.Деньги