Написание текстового эффекта с помощью jquery

0

Я использую этот код для написания текстового эффекта:

        <script type="text/javascript">
    $(document).ready(function () {
        function changeText(cont1, cont2, speed) {
            var Otext = cont1.text();
            var Ocontent = Otext.split("");
            var i = 0;
            function show() {
                if (i < Ocontent.length) {
                    cont2.append(Ocontent[i]);
                    i = i + 1;
                };
            };
            var Otimer = setInterval(show, speed);
        };
        $(document).ready(function () {
            changeText($("#TypeEffect p"), $(".p2"), 150);
        });
    });
</script>

но он не работает для многострочного, я использую этот код:

 changeText($("#TypeEffect p, #TypeEffect br"), $(".p2"), 150);

так что он не работает.

пожалуйста, помогите мне написать текстовый эффект в нескольких линиях.

Показать ещё 1 комментарий

1 ответ

2
Лучший ответ

Пытаться

$(document).ready(function () {
    function changeText(cont1, cont2, speed) {
        var contents = $(cont1).contents().map(function () {
            if (this.nodeType == 3) {
                if ($.trim(this.nodeValue).length) {
                    return this.nodeValue.split("")
                }
            } else {
                return $(this).clone().get();
            }
        }).get();
        var i = 0;

        function show() {
            if (i < contents.length) {
                cont2.append(contents[i]);
                i = i + 1;
            } else {
                clearInterval(Otimer)
            }
        };
        var Otimer = setInterval(show, speed);
    };
    $(document).ready(function () {
        changeText($("#TypeEffect p"), $(".p2"), 150);
    });
});

Демо: скрипка

Ещё вопросы

Сообщество Overcoder
Наверх
Меню