스트립트 타이핑 효과 질문

스트립트 타이핑 효과 질문

QA

스트립트 타이핑 효과 질문

본문


<div class="boxed_inner">
    <p class="slogan-txt">
    가나다라마바사
    </p>
    <p class="slogan-txt">
    아자차카타파하
    </p>
    <p class="slogan">
    </p>
<p class="cover"></p>
</div>
 
<script>
var typingBool = false; 
var typingIdx=0; 
var typingTxt = $(".slogan-txt").text(); // 타이핑될 텍스트를 가져온다 
typingTxt=typingTxt.split(""); // 한글자씩 자른다. 
if(typingBool==false){ // 타이핑이 진행되지 않았다면 
   typingBool=true; 
   
   var tyInt = setInterval(typing,100); // 반복동작 
 } 
 
 function typing(){ 
   if(typingIdx<typingTxt.length){ // 타이핑될 텍스트 길이만큼 반복 
     $(".slogan").append(typingTxt[typingIdx]); // 한글자씩 이어준다. 
     typingIdx++; 
   } else{ 
     clearInterval(tyInt); //끝나면 반복종료 
   } 
 }
</script>

 

이렇게 있을 때 위에 글자들이 줄바꿈이 안되고 한줄로 쭉 이어지네요

 

줄바꿈할 수 있는 방법이 있을까요?

이 질문에 댓글 쓰기 :

답변 2

$(".slogan-txt") 에 문자열이 추가되는걸 기준으로 수정해봤습니다.

 

<script>

var typingBool = false; 

var typingIdx=0; 

var typingTxt = ""; 

 

for (var i=0; i< $(".slogan-txt").length; i++) {

    var txt = $(".slogan-txt").eq(i).text().trim();

    typingTxt += (typingTxt != "")? "\n" : "";

    typingTxt += txt;

}

 

typingTxt=typingTxt.split(""); // 한글자씩 자른다. 

if(typingBool==false){ // 타이핑이 진행되지 않았다면 

   typingBool=true; 

   var tyInt = setInterval(typing,100); // 반복동작 

 } 

 

 function typing(){ 

   if(typingIdx<typingTxt.length){ // 타이핑될 텍스트 길이만큼 반복 

     if (typingTxt[typingIdx] == "\n") {

        $(".slogan").append("<br>");

     } else {

        $(".slogan").append(typingTxt[typingIdx]); // 한글자씩 이어준다. 

     }

     typingIdx++; 

   } else{ 

     clearInterval(tyInt); //끝나면 반복종료 

   } 

 }

</script>

원하는 위치에 개행태그 넣으면 될거 같습니다.

 

function typing(){
    if(typingIdx<typingTxt.length){ // 타이핑될 텍스트 길이만큼 반복
        $(".slogan").append(typingTxt[typingIdx]); // 한글자씩 이어준다.
        if(typingIdx == 22){
            $(".slogan").append('<br/>');
        }
        typingIdx++;
    } else{
        clearInterval(tyInt); //끝나면 반복종료
    }
}
답변을 작성하시기 전에 로그인 해주세요.
전체 267
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT