Development
August 31, 2024
Сhange the font size depending on whether the text fits into the block
Sometimes you need to put the text in a block in one line.
This way we can change the font size depending on whether the text fits into the block.
function scale(block) { var step = 2, minfs = 9, scw = block.scrollWidth, w = block.offsetWidth; if (scw > w) { const styles = window.getComputedStyle(block); let fontsize = parseInt(styles.fontSize, 10) - step; if (fontsize >= minfs) { block.style.fontSize = fontsize + "px"; scale(block); } } function setFontSize() { let targetBlock = '#selector_of_target_block_default#'; /** if (BX.SidePanel.Instance.getTopSlider()) { // Bitrix iframe let topSlider = BX.SidePanel.Instance.getTopSlider().getFrame(); targetBlock = '#selector_of_target_block_in_slider#'; titleList = topSlider.contentDocument.querySelector(targetBlock); } **/ if (targetBlock) { scale(targetBlock); } } setTimeout(setFontSize, 500); // BX.addCustomEvent("SidePanel.Slider:onLoad", setFontSize); // Bitrix iframe