javascript - 如何让数字淡入而不是弹出

标签 javascript css

好吧,这有点难以解释,但我试图让数字在“产生”或生成时消失,而不是突然出现。 Here是我正在尝试使用的 fiddle 。我正在使用 input 标记作为数字,并使用 for 语句来生成其余的 --

for (I = 0; I < $("#input:text").val(); I++) {
        N.innerHTML += 1 + I + " "
    }

我希望我解释得足够好,以便人们理解!

最佳答案

Append span elements instead of text so that you can easily select elements using selector.

使用 setTimeout 使其通过 index 连续发生。

试试这个:

var D = document,
  In = D.getElementById("input"),
  CC = D.getElementById("submit"),
  N = D.getElementById("N"),
  I;

$(In).keyup(function(Key) {
  if (Key.keyCode == 13) {
    for (var i = 0; i < $("#input:text").val().length; i++) {
      var span = '<span style=\'display:none\'>' + (i + 1) + ' ' + $("#input:text").val()[i] + ' </span>'; //set display of `span` element as `none`
      N.innerHTML += span;
    }
  }
  $('#N span').each(function(i) {
    setTimeout(function() {
      $(this).hide().fadeIn(500);
    }.bind(this), (i * 500)); // `.bind()` will pass the outer `this` context in`setTimeout` when handler is invoked
  })
});

$(CC).click(function() {
  N.innerHTML = "";
});
body {
  cursor: default;
  outline-width: 0px;
}
#main {
  text-align: center;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<body>
  <div id="main">
    <input type="text" id="input" maxlength="3" placeholder="Press submit to clear all" />
    <input type="submit" id="submit" />
  </div>
  <h1 id="N"></h1>
</body>

Fiddle here

关于javascript - 如何让数字淡入而不是弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36002672/

相关文章:

javascript - Windows Scripting Host 弹出窗口 - 在其他窗口之上

javascript - Titanium:显示自定义对象 - 变量未定义

javascript - 使用两个相同的 JavaScript

javascript - 在加载 iframe 之前显示 loading.gif

javascript - 如何使用 .htaccess 按文件名而不是扩展名缓存文件

css - 如何使用 styles.css 调用静态 block

javascript - 如何在angular js中单击按钮添加和删除文本字段

html - 占据其左侧可用宽度的 DIV

javascript - 如何使用onclick函数打开子菜单并使用onclick函数隐藏

javascript - React - 如何将未在路由器中列出的路由请求转发到 NotFound (404) 组件?