![]() | 1 LxExExl 2020-11-22 16:31:25 +08:00 via iPhone 这个没有现成的 app 吗? 小时候 pc 上有金山打字通 我还记得第一句话是 when you 开头的... |
![]() | 2 jdhao 2020-11-22 16:36:11 +08:00 via Android 直接用电脑打字不就行了,还弄什么手机啊。。楼上说的金山打字通练字多好 |
![]() | 3 Eyon OP 楼上两位都都跑题了。。。 |
![]() | 4 jdhao 2020-11-22 16:39:46 +08:00 via Android @Eyon 要打字就解决打字的问题,再搞个小程序,岂不是多此一举。当然你说你有兴趣实现这样的小程序,那肯定没问题啊。 |
5 zxCoder 2020-11-23 10:37:04 +08:00 意思是不买电脑 先用手机和键盘练习打字? |
6 lyy16384 2020-11-23 15:24:33 +08:00 这就是个 diff 功能啊 不过我觉得逐字对比就够用了,缺点是错位会全报错 |
7 DL9412 2020-11-23 15:36:51 +08:00 切分开来逐字比对?随手写了个,如果不多字漏字是好使的,如果多字漏字的话就不好说了。 猜个思路,不匹配时向后搜索匹配字符,到标点或句尾则放弃,下一个字符从上个匹配成功的位置开始搜索 ``` <style> .red{ color: red; } </style> <div id="textblock"></div> <textarea id="inputtext"></textarea> <script> let text = `但是有个问题,这样要求所有的输入文字都必须正确,如果其中有一个文字不正确都不会变红(因为不相等),请赐教应该用什么思路` let inp = document.getElementById('inputtext') let textblock = document.getElementById('textblock') render() inp.Oninput= e => render() function render(){ let inputarr = inp.value.split('') let arr = text.split('').map((v,i) => v==inputarr[i]?`<span class="red">${v}</span>`:v) textblock.innerHTML = arr.join('') } </script> ``` |
![]() | 8 sevenyangdx 2020-11-23 15:50:38 +08:00 要学电脑,为啥不买台电脑正儿八经的学,要用手机学拼音的话,直接全键盘输入法不就行了么。难道用键盘是带着出门用的。 |