Компонент bitrix:spotlight
Описание и параметры
Компонент выводит подсказку на странице около указанного DOM-элемента. Учитывает и фиксирует факт показа подсказки текущему пользователю. Компонент адаптирован под композит.
Параметры
Параметр | Описание | С версии |
---|---|---|
ID | идентификатор подсказки. Обязательный параметр. | |
USER_TYPE | Тип пользователя. Допустимые значения:
| |
USER_TIMESPAN | Промежуток времени в секундах для определения нового/старого пользователя. По умолчанию 30 дней. | |
LIFETIME | Время жизни подсказки в секундах. По умолчанию 30 дней. | |
START_DATE | Дата, с которой начнется показ подсказки. По умолчанию не задана. | |
END_DATE | Дата, до которой можно показывать подсказку. По умолчанию не задана. | |
JS_OPTIONS | массив опций для конструктора [link=]BX.SpotLight[/link]. |
Пример вызова
<?$APPLICATION->includeComponent("bitrix:spotlight", "", array( "ID" => "my-spotlight", "JS_OPTIONS" => array( "targetElement" => "box", "content" => "Текст подсказки", "targetVertex" => "middle-center" ) )); ?>
Пример обработки событий в JavaScript
Пример показывает два варианта обработки событий пульсирующего круга, подключенного с помощью компонента bitrix:spotlight:
- Статический. В ключе events указывается ссылка на статическую функцию.
- Экземплярный. Компонент bitrix:spotlight создает объект пульсирующего круга с помощью менеджера BX.SpotLight.Manager. Через этот менеджер можно получить ссылку на объект типа BX.SpotLight.
<? $APPLICATION->includeComponent("bitrix:spotlight", "", array( "ID" => "my-spotlight3", "USER_TYPE" => "OLD", "USER_TIMESPAN" => 3600 * 24 * 30, "LIFETIME" => 3600 * 24 * 30, "START_DATE" => gmmktime(8, 30, 0, 10, 10, 2017), // October 10, 2017 11:30 MSK "END_DATE" => gmmktime(8, 30, 0, 12, 10, 2017), // December 10, 2017 11:30 MSK "JS_OPTIONS" => array( "targetElement" => "box", "content" => "Text Text", "top" => 100, "left" => 100, "events" => array( "onTargetEnter" => "BX.MyModule.MyComponent.handleTargetEnter" //статический метод ), "targetVertex" => "middle-right" ) )); ?> <script> (function() { BX.namespace("BX.MyModule.MyComponent"); BX.MyModule.MyComponent = function(options) { //Получаем экземпляр подсказки. var spotlight = BX.SpotLight.Manager.get("my-spotlight"); if (spotlight) { spotlight.bindEvents({ onTargetEnter: this.handleTargetEnter.bind(this) }); } }; BX.MyModule.MyComponent.handleTargetEnter = function(spotlight) { console.log("handleTargetEnter", this, spotlight); }; BX.MyModule.MyComponent.prototype = { handleTargetEnter: function(spotlight) { console.log("handleTargetEnter prototype", this, spotlight); } }; })(); BX.ready(function() { new BX.MyModule.MyComponent(); }); </script>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.