效果展示:

源码展示:

<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>js实现文字跳动</title>
 
    <style>
        #txtDom {
            padding:50px;
            width:1200px;
            margin:0 auto;
            font-size:30px;
            font-family:"微软雅黑";
            line-height:1.3em;
            text-indent:2em;
        }
    </style>
</head>
<body>
<div id="txtDom">
    大家好 我是老王!今天给大家分享的是使用js实现跳动的文字效果!!!!
</div>
 
<script>
    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>

与御风痕博客园,程序员博客园地的首选!
御风痕博客园 » js实现鼠标移入跳动文字

发表评论