jQuery 动态输入文字展示效果

简介: jQuery 动态输入文字展示效果

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    * {
      margin: 0;
      padding: 0;
    }
    @keyframes blink {
      0%,
      100% {
        opacity: 1
      }
      50% {
        opacity: 0
      }
    }
    @-webkit-keyframes blink {
      0%,
      100% {
        opacity: 1
      }
      50% {
        opacity: 0
      }
    }
    @-moz-keyframes blink {
      0%,
      100% {
        opacity: 1
      }
      50% {
        opacity: 0
      }
    }
    .wrap {
      width: 1000px;
      text-align: center;
      margin: 100px auto 0;
    }
    .wrap h1 {
      font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
      font-weight: 300;
    }
    .word {
      font-weight: 700;
    }
    .typed-cursor {
      opacity: 1;
      -webkit-animation: blink .7s infinite;
      -moz-animation: blink .7s infinite;
      animation: blink .7s infinite;
      display: none;
    }
    .saySection {
      margin-top: 50px;
    }
    .saySection input {
      font-size: 30px;
    }
    .saySection .txtSay {
      padding-left: 10px;
    }
    .saySection .btnSay {
      display: inline-block;
      padding: 0 20px;
      cursor: pointer;
    }
  </style>
  <script src="jquery-3.4.1.js"></script>
  <script>
    $(document).ready(function () {
      // 监听 Say 点击
      $('.saySection input:button').click(function () {
        // 获取字符串
        var str = $('.saySection input:text').val(); // '红鲤鱼与绿鲤鱼与驴'
        var strArr = str.split('');
        var wordStr = '';
        var index = 0;
        var timer = null;
        // 显示光标
        $('.typed-cursor').show();
        // 定时器
        timer = setInterval(() => {
          // 获取单个文字
          var word = strArr[index];
          if (word === undefined) {
            clearInterval(timer);
            $('.typed-cursor').hide();
          }else{
            // 每次往.word中插入一个文字
            wordStr += word;
            // 进行展示
            $('.word').text(wordStr)
            // 索引+1
            index++;
          }
        }, 200);
      });
    })
  </script>
</head>
<body>
  <div class="wrap">
    <h1>
        You want to say : <span class="word"></span><span class="typed-cursor">|</span> !
    </h1>
    <div class="saySection">
      <input type="text" id="inValue" class="txtSay" />
      <input type="button" value="Say" id="btnSay" class="btnSay" />
    </div>
  </div>
</body>
</html>
  • demo 效果:


相关文章
|
JavaScript 开发者
|
5月前
|
JavaScript
jQuery及highcharts做cpu动态走势图
jQuery及highcharts做cpu动态走势图
47 1
|
6月前
|
JavaScript 前端开发
jquery实现动态五角星评分
jquery实现动态五角星评分
|
JavaScript
jQuery动态拼接多张图片并且获取每张图片名称
jQuery动态拼接多张图片并且获取每张图片名称
56 1
|
JavaScript
jQuery动态增加一行元素和删除一行元素
jQuery动态增加一行元素和删除一行元素
31 0
|
JavaScript 流计算 索引
jQuery 动态输入展示效果
jQuery 动态输入展示效果
68 0
|
前端开发 JavaScript
jquery实现动态五角星评分
先上代码,最后附属上我的实现思路,新手做的bug多,大牛勿喷:请看代码: ☆ ☆ ☆ ☆ ☆
|
JavaScript 前端开发 测试技术
Bootstrap 基于Bootstrap和JQuery实现动态打开和关闭tab页
Bootstrap 基于Bootstrap和JQuery实现动态打开和关闭tab页
230 0
|
JavaScript
Jquery实现表格动态增加一行,删除一行(最简洁的代码实现)
Jquery实现表格动态增加一行,删除一行(最简洁的代码实现)
554 0
Jquery实现表格动态增加一行,删除一行(最简洁的代码实现)
|
XML JavaScript 数据格式
JQuery 动态XML字符串添加节点
今天实现了动态的给一个XML字符串添加节点。
147 0