>  기사  >  웹 프론트엔드  >  Javascript는 텍스트 점프 효과를 구현합니다.

Javascript는 텍스트 점프 효과를 구현합니다.

高洛峰
高洛峰원래의
2016-12-05 09:55:171519검색

1. 문자열을 하나씩 글꼴로 변경하는 방법을 제어해 보겠습니다.

1 문자열 내용 가져오기

2 문자열 내용 지우기

3 문자열 트래버스 , 그런 다음 하나씩 잘라냅니다.

4 잘라낸 텍스트에 위치 추가

5 추가된 위치 텍스트를 얻은 요소에 다시 할당합니다.

2. 마우스가 위로 슬라이드된 후 텍스트 점프를 구현하는 방법

1 변수 0 정의

2 타이머 정의

3 변수를 정의합니다. 지속적으로 감소

4 요소의 top == 변수 변경

5 변수가 특정 높이에 도달하면 변수가 계속 증가하도록 합니다

6 변수가 감소하는 경우 0(자체 위치),

7 요소의 상단 = 0(자체 위치)을 변경하려면 애니메이션 지우기

<!DOCTYPE html>
<html>
 <head>
  <meta charset="utf-8" />
  <title>
   文字跳动特效-vico
  </title>
  <style type="text/css">
   #txtDom{ padding: 50px; width:500px; margin: 0 auto; font-size: 16px;
   font-family: "微软雅黑"; line-height: 1.3em; text-indent: 2em;}
  </style>
 </head>
 <body>
  <div id="txtDom">
   要是没有错误和失败,你就不会学到东西;要是没有痛苦,你就不会长大。
   一旦你明白了这些,你就知道了一切事情都是为了某种目的而发生。 
   所以不要紧张或者认为生活不公平,因为一切事情都有原因,只有时间能诉说教会了我们什么。
  </div>
  <script type="text/javascript">
   var txtAnim = {
    len: 0,
    txtDom: "",
    arrTxt: [],
    init: function(obj) {
     this.obj = obj;
     this.txtDom = obj.innerHTML.replace(/\s+/g, "");
     this.len = this.txtDom.length;
     obj.innerHTML = "";
     this.addDom();
    },
    addDom: function() {
     for (var i = 0; i < this.len; i++) {
      var spanDom = document.createElement("span");
      spanDom.innerHTML = this.txtDom.substring(i, i + 1);
      this.obj.appendChild(spanDom);
      this.arrTxt.push(spanDom);
     };
     for (var j = 0; j < this.len; j++) {
      this.arrTxt[j].style.position = "relative";
     };
     this.strat();
    },
    strat: function() {
     for (var i = 0; i < this.len; i++) {
      this.arrTxt[i].onmouseover = function() {
       this.stop = 0;
       this.speed = -1;
       var $this = this;
       this.timer = setInterval(function() {
        $this.stop += $this.speed; //0 += -1
        if ($this.stop <= -20) {
         $this.speed = 1;
        }
        $this.style.top = $this.stop + "px";
        if ($this.stop >= 0) {
         clearInterval($this.timer)
         $this.style.top = 0 + "px";
        };
       },
       15);
      };
     }
    }
   }
   var txtDom = document.getElementById("txtDom");
   txtAnim.init(txtDom);
  </script>
 </body>
</html>

위는 편집기에서 도입한 Javascrip 구현입니다. 텍스트 점프 효과를 구현해 보세요. 모두에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.