Heim >Web-Frontend >H5-Tutorial >Der mobile Websimulations-Client erkennt den Effekt der Eingabe von Passwörtern in mehrere Felder [mit Code]_html5-Tutorial-Fähigkeiten

Der mobile Websimulations-Client erkennt den Effekt der Eingabe von Passwörtern in mehrere Felder [mit Code]_html5-Tutorial-Fähigkeiten

WBOY
WBOYOriginal
2016-05-16 15:51:501862Durchsuche

Ich weiß nicht, wie ich den Titel beschreiben soll. Schauen wir uns zuerst den Screenshot an. Der allgemeine Effekt besteht darin, ein Passwort in ein Feld einzugeben.

Die erste Implementierungsidee ist, dass ein kleines Feld eine Eingabe vom Typ Passwort ist. Jedes Mal, wenn Sie eine Ziffer eingeben, springt es automatisch zur nächsten Ziffer Unter Android ist es in Ordnung. Es läuft flüssig und weist keine Fehler auf, aber unter iOS wird die Tastatur häufig geöffnet und geschlossen, was sich stark auf das Benutzererlebnis auswirkt. Der Grund dafür ist wahrscheinlich, dass jede Eingabe kontinuierlich fokussiert und unscharf wird. Bei jedem Fokus wird die Tastatur angezeigt und bei Unschärfe wird die Tastatur geschlossen, also... wird diese Lösung definitiv nicht funktionieren.

Wenn PM darauf besteht, diesen Effekt zu erzielen, gibt es keine Möglichkeit. Aber wenn Sie nichts dagegen tun können, wird Ihnen eine schlechte Benutzererfahrung die Sprache verschlagen. Wer möchte, dass wir das Frontend sind? Wenn Sie nicht helfen können es, finden Sie einfach eine Lösung.

Da viele Probleme durch häufiges Fokussieren und Unschärfe verursacht werden und es sich um ein Passwortfeld handeln muss, warum nicht ein Eingabefeld zur Eingabe verwenden und andere Methoden verwenden, um das kleine Feld zu simulieren, und los geht's. Dies ist der endgültige Effekt: http://jsbin.com/neqesiqogu/edit?html,css,js,output

Das Folgende ist der implementierte Stil:

JavaScript-CodeInhalt in die Zwischenablage kopieren
  1. .pwd-box{
  2. Breite:310px
  3. padding-left: 1px
  4. Position: relativ;
  5. Rahmen: 1px durchgezogen #9f9fa0;
  6. Grenzradius: 3px;
  7. }
  8. .pwd-box input[type=
  9. "tel"
  10. ]{ Breite: 99 %;
  11. Höhe: 45px;
  12. Farbe: transparent
  13. Position: absolut;
  14. oben: 0;
  15. links: 0;
  16. Grenze: keine
  17. Schriftgröße: 18px
  18. Deckkraft: 0;
  19. z-index: 1;
  20. Buchstabenabstand: 35px
  21. }
  22. .fake-box input{
  23. Breite: 44px;
  24. Höhe: 48px
  25. Grenze: keine
  26. border-right: 1px solid #e5e5e5;
  27. text-align: center;
  28. Schriftgröße: 30px
  29. }
  30. .fake-box input:nth-last-child(1){
  31. Grenze:keine;
  32. }
  33. .pwd-box .pwd-input:focus{
  34. //Sie müssen seine Position ändern, wenn das Passwortfeld fokussiert ist, sonst wird auf IOS ein blinkender Cursor angezeigt~
  35. links:-1000px
  36. oben: -100px
  37. }
  38. JavaScript-Code
Inhalt in die Zwischenablage kopieren
  1. var $input = $(".fake-box input");   
  2.             $("#pwd-input").on("input"fonction() {   
  3.                 var pwd = $(this).val().trim();   
  4.                 pour (var i = 0, len = pwd.length; i < len; i ) {   
  5.                     $input.eq(""   i   "").val(pwd[i]);   
  6.                 }   
  7.                 $input.each(fonction() {   
  8.                     var index = $(this).index();   
  9.                     if (index >= len) {   
  10.                         $(ce).val("");   
  11.                     }   
  12.                 });   
  13.                 if (len == 6) {   
  14.                     self.sendPackage(pwd);//发送密码   
  15.                 }   
  16.              });  

大致的思路就是动态监听真实密码框的输入修改小方框内密码框的内容。

其实效果实现不难,关键是思路还有解决该死的兼容,完成该效果的时候IOS会有闪动的光标, Android没有,然后找一系列方法去隐藏光标,比如focus时候设置text- indentation,couleurtransparent, caché,完美解决了问题~

以上这篇移动web模拟客户端实现多方框输入密码效果】就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

原文地址:http://www.cnblogs.com/hutuzhu/p/5000024.html

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn