kasjp
9/11/2019 - 3:13 PM

split text to fit elements

splits the provided text between elements that have set height limit so each element doesn't overflow with text

let splitText = function(text, elArray) {
    if (text != null && elArray.length > 0) {
        let currentIndex = 0;
        elArray.forEach(el => {
            $(el).show();
            el.innerHTML = text;
            let textArr = text.split(' ');
            if (currentIndex > 0) {
                textArr = textArr.slice(currentIndex, textArr.length);
            }
            if (el === elArray[elArray.length - 1]) {
                el.innerHTML = textArr.join(' ');
            } else {
                while (el.scrollHeight > el.offsetHeight) {
                    textArr.pop();
                    el.innerHTML = textArr.join(' ');
                }
            }
            currentIndex += textArr.length;
        });
    }
}