Компонент 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-2025, «1С-Битрикс», 2025