构建一个根据打字速度定义字体的打字机生成器

Building a typewriter generator that defines the font-wight depending on typing speed

已解决:https://codepen.io/danborjesson/pen/qGjMzw

已编辑:

我正在构建一个文本生成器,它会根据您键入的速度更改字体粗细。这 Codepen 展示了我目前所拥有的。

它包含一个每次按下一个键都会启动一个计时器的功能,以及一种在同一操作中更改字体粗细的方法。然而,彼此并不依赖。

是否可以从中获取值 javascript:

    var last;
var output = $('#output');
$('#text').on('input', function() {
    var n = new Date()
    output.text((last - n) + ' ms');
    last = n;
});

为了简化,而不是900。

function myFunction(event) {
  document.getElementById("text").style.fontWeight = "900";
}

我找不到方法!感谢所有帮助!

/R

你把它弄得太复杂了。不要将内联 js 与文件中的 js 混合使用。只需为您的 text 字段添加第二个侦听器并使用您需要的值。此外,keyup 似乎是您需要的事件,而不是 keypress。您应该检查的另一件事是 ms 的计算,您可能想要获得一个正值,即 n - last.

let last, ms, n;
let output = $('#output');

$('#text').on('input', function() {
    n = new Date();
    ms = n - last;
    output.text(ms + ' ms');
    last = n;
});

$('#text').on('keyup', function() {
    console.log(ms);
    this.style.fontWeight = "900";
});

let i = 0;
$(document).ready(function(){
  $("input").keypress(function(){
    $("span").text(i += 1 );
  });
});
@import url(https://use.typekit.net/obu1vfn.css:);

html,
body {
    height: 100%;
}

body {
    display: flex;
    align-items: center;
    justify-content: center;  
}

list {
    font-family: orator-std, monospace;
    font-weight: 400;
    font-size: 14px;
    margin-top: 2em;
    padding: 2rem;
}

button, input {
    border: none;
    font-weight: 100;
    width: 800px;
    height: 200px;
     font-family: ibm-plex-sans, sans-serif;
    font-size: 5rem;
    color: #11111;
    
    /**transition: font-weight .5s ease-in-out;
    &:hover,
    &.be-bold {
        font-weight: (900);
        cursor: pointer;
   
    }**/
}

   
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<list>
//HOVER_THE_BOX:
<br>
//KEYPRESSES: <span>0</span> TIMES
<br>
//TIME SINCE LAST PRESS:
<div id="output"></div></list>

<input id="text" placeholder="Type here">