提问者:小点点

我希望由var text生成的每个单词都在单个<span>标记中


当前我的网站加载到这里时生成文本https://www.droolstudios.co.uk/home。我现在正在进行一些更改,希望每个单独的工作都在中生成。

HTML

null

        var i = 0;
        var txt = 'Branding. Websites. Design & Creative Services. We turn your vision into reality.';
        //var txt = 'Turning your creative visions into reality with ease and care.... and we also do dog sitting.';

        function typeWriter() {
            if (i < txt.length) {
                document.getElementsByClassName('js-typewrite')[0].innerHTML += txt.charAt(i);
                i++;
                setTimeout(typeWriter, 95);
           
            }
        }

        setTimeout(typeWriter, 1000);
    <section>
            <div class="home-intro">
                <div class="sub-heading">
                    <span class="typewrite anim-typewrite js-typewrite"></span>
                </div>

            </div>
        </section>

null

有人有什么想法吗?


共2个答案

匿名用户

我用span标记嵌入的每个var txt字生成新的var结果,然后您只需在您想要的地方生成您的html。

var txt = 'Branding. Websites. Design & Creative Services. We turn your vision into reality.';

var sp0 = txt.split(" "); // split by space

var result = sp0.map( (w) => "<span>" + w + "</span>").join("");
console.log(result)

code>join命令在一行中转换数组,如果要保留数组,请不要执行该命令

匿名用户

你在找这样的东西吗?

null

        var i = 0;
        var txt = 'Branding. Websites. Design & Creative Services. We turn your vision into reality.';
        //var txt = 'Turning your creative visions into reality with ease and care.... and we also do dog sitting.';
        let splitted=txt.split(" ");

        function typeWriter() {
            if (i < splitted.length) {
                document.getElementsByClassName('js-typewrite')[0].innerHTML += splitted[i]+ " ";
                i++;
                setTimeout(typeWriter, 395);
           
            }
        }

        setTimeout(typeWriter, 1000);
    <section>
            <div class="home-intro">
                <div class="sub-heading">
                    <span class="typewrite anim-typewrite js-typewrite"></span>
                </div>

            </div>
        </section>