Функции общего назначения

Полный список свойств и функций, а так же общие правила их использования, см. здесь: Краткий обзор и правила, список функций VcorpJS.

.ready( handler )

Выполняет переданную функцию handler при загрузке страницы и готовности документа к работе (по событию DOMContentLoaded). После инициализации текущего экземпляра VcorpJS вызов этой функции игнорируется. Инициализация происходит автоматически, если экземпляр VcorpJS создаётся до готовности документа окна, в котором он создаётся.

Все функции, добавленные через .ready(), будут вызваны в порядке их добавления, но первой будет всегда вызвана пользовательская функция vcorpJS_onload(version), если она в этот момент существует (с передачей текстовой строки version).

VcorpJS.ready(
    function (e) { alert("Страница готова к работе"); }
);

function vcorpJS_onload(version) {
    alert("Страница готова к работе");
};

.init()

Ручная инициализация объекта VcorpJS. Если мы подгружаем VcorpJS после события DOMContentLoaded (во время работы страницы), или создаём объект в родительском окне (или фрейме), то перед любым использованием свойств и функций (методов) объекта VcorpJS необходимо вызвать функцию инициализации.
Повторные вызовы метода .init() игнорируются, если объект уже инициализирован.

VcorpJS.init();
/* myObj.init(); // или так - если у нас есть копия ссылки на объект (myObj === VcorpJS) */

.sRAF( boolean )

Управляет использованием механизма requestAnimationFrame почти всеми внутренними функциями и плагинами VcorpJS,
если boolean==true, то задействовать механизм requestAnimationFrame, иначе отменить.
По-умолчанию true, если браузер поддерживает эту технологию, но можно при желании и отключить.

Примечание: при изменении размеров и/или скроллинге окна браузера (когда слои подстраиваются под размер страницы/окна), а так же при программном управлении окнами, механизм requestAnimationFrame не используется, так как нет смысла (приходится срочно читать параметры окна браузера и текущие размеры веб-страницы, или браузеры сами не генерируют событие, пока не будут готовы). Вообще автор заметил, что этот механизм браузеры реализуют принудительно (включая Opera 12, в которой "нет" requestAnimationFrame), но убедился в этом только после тестов, когда уже реализовал поддержку... короче, не стал выпиливать поддержку технологии, оставил как есть (requestAnimationFrame используется всегда, за исключением программных операций с окнами и функций прямой работы с классами и стилями).
Думаю, что requestAnimationFrame полезна в операциях, не связанных с рендерингом HTML-объектов, например, при рисовании на холсте Canvas или WebGL.

.isTOUCH()

Возвращает 0 (если нет touch-событий) или 1 (поддержка сенсорного экрана).

var $;
...
function vcorpJS_onload(version) {
    $ = VcorpJS;
    /* Фикс CSS для мобильных и Opera12 (position:absolute; вместо position:fixed;) */
    $.addCss(".pb_alert, pb_dialog { position:" + ( ($.isTOUCH() || $.isOPERA12()) ? "absolute" : "fixed" ) + "; }");
};

.isPageOrientation() или .isPO()

Возвращает текущее значение VcorpJS.W.orientation (по-умолчанию 0 для window.orientation)

После смены ориентации страницы книжная/альбомная внутренние переменные окружения автоматически переустанавливаются через 0.1 сек.
Задержка связана с тем, что мобильные браузеры не сразу перерисовывают страницу после поворота экрана.

.trim( string ) - Удаление пробельных символов по краям строки
.ltrim( string ) - Удаление пробельных символов с начала строки
.rtrim( string ) - Удаление пробельных символов в конце строки
.reverse( string ) - Реверс строки

alert(VcorpJS.ltrim(" \n\t 12345 \n")); /* "12345 \n" */

alert(VcorpJS.reverse("12345")); /* "54321" */

.gCC( number ) - Возвращает строковый символ кода number ( String.fromCharCode(number) )
.isArray( object ) - Возвращает true или false (проверка объекта на массив)
.isDate( object ) - Возвращает true или false (проверка объекта на дату)

.id( node )

Возвращает ссылку на объект или undefined
node - это ссылка на объект или текстовый id объекта.

var obj = VcorpJS.id("myDiv1");
if (obj) { obj.style.display = "none"; }

function myFunction ( obj ) {
    obj = VcorpJS.id( obj ); /* перестраховка */
    if (obj) obj.style.display = "none";
}

.qSA( selectorString [, node] )
.qS( selectorString [, node] )

Функции производят выборку дочерних объектов у node (по-умолчанию у VcorpJS.D или window.document), в соответствии с переданным строковым селектором selectorString.
Функция .qS() возвращает ссылку на первый найденный дочерний объект или null
Функция .qSA() возвращает коллекцию ссылок на все найденные дочерние объекты или null
Обе функции используют стандартные функции .querySelectorAll() и .querySelector() соответственно, в случае неверного селектора возвращается null.

var i, l, myNodeList = VcorpJS.qSA( ".my_class > div" );
if (myNodeList) {
    for (i=myNodeList.length; i>=0; i-=1) {
        myNodeList[i].style.display = "none";
    }
} /* myNodeList - это не массив, а коллекция! */

Возвращаемый список (коллекция) nodeList является статической коллекцией, а не настоящим массивом. Чтобы сделать полноценный массив, можно использовать конструкцию типа:
Array.prototype.slice.call(VcorpJS.qSA(selector));
или для ES6 : Array.from(VcorpJS.qSA(selector));

.sLS( name, value ) - localStorage - запись строкового значения value под именем name
.gLS( name ) - localStorage - чтение строкового значения под именем name

var html = VcorpJS.id("myContent").innerHTML;
VcorpJS.sLS( "myContent", JSON.stringify(html) );

var obj = VcorpJS.id("myContent");
obj.innerHTML = JSON.parse( VcorpJS.gLS("myContent") );

.sOpacity( node [, number] )

Изменение прозрачности объекта node (number от 0 до 1 - кроссбраузерно)
Если node не найден, то функция фозвращает false, иначе true
Если параметр number не указан или не число, то объект становится непрозрачным (opacity 1).

.gPos( node )

Возвращает позицию курсора в редактируемой области node или false
Фокус устанавливается на объект node

.sPos( node [, number] )

Устанавливает курсор в позицию number в редактируемой области node
Фокус устанавливается на объект node
Функция возвращает true, если node существует и номер позиции число - тип number

.gOffset( node )

Возвращает объект { left: number, top: number } координат левого верхнего угла элемента node относительно начала документа.
Если node не найден, то возвращает false

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

.loadJs( URL [,handler] ) - Подгрузка внешнего JavaScript - файла

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

Функция возвращает false, если URL не строка или пустая строка, иначе возвращает true.
Примечание: не забывайте про доменные ограничения.

VcorpJS.loadJs("/scripts/myscript.js", myHandler);
function myHandler( e ) {
    console.log("loaded");
};

VcorpJS.loadJs("/scripts/myscript.js", 'console.log("loaded")');

.uEnv( [event] )

Принудительно обновляет все внутренние переменные окружения (функции ниже возвращают текущие внутренние значения).

Внутренние переменные окружения - это размеры экрана, страницы, положение мыши и т.д.
Если обработчики событий добавляются строго через метод спец-объекта .EH.add(), то при наступлении любого события, координаты мыши обновляются автоматически (если событие от пользователя), остальные переменные окружения тоже (если используются функции-плагины).

Функцию .uEnv([event]) можно вызывать принудительно перед произвольным чтением переменных окружения.
Как правило, эта функция нужна редко и не стоит ей злоупотреблять во-избежание тормозов рендеринга, так как при запросе информации о странице браузер часто вынужден провести внеочередной срочный рендеринг.

Если передаётся объект события event, то дополнительно автоматически вызывается функция .uMouseXY( event )

.uMouseXY( event ) или .uMXY( event )

Принудительно обновляет только внутренние координаты мыши (если событие от пользователя). Используется перед чтением внутренних координат мыши.
Объект события event обязателен, иначе внутренние координаты мыши не будут обновлены.

Получение значений переменных окружения

ФункцияНазначение
.gMouseX()
.gMX()
Возвращает внутреннюю текущую координату X мыши
.gMouseY()
.gMY()
Возвращает внутреннюю текущую координату Y мыши
.gAvailWidth()
.gAW()
Возвращает ширину экрана screen.availWidth
.gAvailHeight()
.gAH()
Возвращает высоту экрана screen.availHeight
.gClientWidth()
.gCW()
Возвращает ширину окна браузера
.gClientHeight()
.gCH()
Возвращает высоту окна браузера
.gPageWidth()
.gPW()
Возвращает ширину документа (веб-страницы)
.gPageHeight()
.gPH()
Возвращает высоту документа (веб-страницы)
.gPageScrollTop()
.gPST()
Возвращает cдвиг видимой части документа (веб-страницы) относительно левого верхнего угла документа
.gPageScrollLeft()
.gPSL()
Возвращает cдвиг видимой части документа (веб-страницы) относительно левого верхнего угла документа

Определение браузера (точное определение не гарантировано)

ФункцияНазначение
.isIE()Возвращает 0 (если не IE) или номер версии IE
.isOPERA12()Возвращает 0 (если не Opera<=12) 1 (если Opera<=12)
.isFF()Возвращает 0 (если не FireFox) 1 (если FireFox)
.isSAFARI()Возвращает 0 (если не Safari) 1 (если Safari)
.isCHROME()Возвращает 0 (если не Chrome) 1 (если Chrome)
.isOTHER()Возвращает 0 (если один из тех, что выше) 1 (если не определён)
.isBrowserName()Возвращает строку с названием браузера - один из вариантов: "ie" | "edge" | "opera" | "firefox" | "safari" | "chrome" | "other"

Для навигации по всем страницам этого раздела сайта используйте пиктограмму или ссылку Навигация в верхней строке навигации.

  • «VcorpJS» - Главная страница раздела
  • Основные сведения
  • Подключение и инициализация VcorpJS
  • Типовой CSS-файл
  • Краткий обзор и правила, список всех функций.
  • Работа с функциями различного назначения
  • Функции общего назначения
  • Работа с классами и стилями
  • Работа с coockie
  • Работа со слоями (layers)
  • Управление событиями, спец-объект и обработчики
  • Работа со встроенными плагинами
  • Плагины VcorpJS - краткий обзор и правила
  • Перетаскивание объектов
  • Многоуровневые анимационные меню
  • Галереи изображений
  • Блоки ротации изображений
  • Модальное диалоговое окно
  • Модальное окно сообщения
  • Переключатели-флажки checkbox
  • Форматированный ввод данных
  • Поля ввода со списком выбора - combobox
  • Календарь (datepicker)
  • Оконная система
  • Оконная система - краткий обзор и правила
  • Настройка окон и оконная callback-функция
  • Функции работы с окнами
  • Работа с панелью окон
  • Табличный вывод данных Grid
  • Grid - краткий обзор и правила
  • Функции работы с Grid
  • Анимация объектов
  • Краткий обзор и правила анимации
  • Базовая функция анимации
  • Функции - обёртки анимации
  • POST запросы VcorpJS
  • POST запросы VcorpJS
  • Canvas и SVG - графика
  • Canvas - краткий обзор и правила
  • SVG - графики (charts)
  • Скачать vcorp_js_00_80.zip (35 Kb - js и css файлы)
  •  
  • Vcorp.ru - Главная страница сайта
  • Тест больших гридов в перемещаемых окнах
  • Тестирование 3D графики в браузерах
  • «Vcorp Generator» - Главная страница раздела
  • «Lazarus fpCEF3» - Главная страница раздела
  • Открывать окно навигации
    <<<
    Изменить высоту >>