index.html 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>A-Level</title>
  8. </head>
  9. <body>
  10. <script>
  11. function Password(parent, open){
  12. const pass = document.createElement('input')
  13. const button = document.createElement('button')
  14. const logn = document.createElement('input')
  15. pass.placeholder = "Enter your password"
  16. logn.placeholder = "Enter your login"
  17. button.innerText = 'Hide'
  18. parent.prepend(button)
  19. parent.prepend(pass)
  20. parent.prepend(logn)
  21. button.addEventListener('click', () => this.setOpen(!this.open))
  22. button.addEventListener('click', () => {
  23. button.innerText = (button.innerText === 'Hide') ? button.innerText = 'Show' : button.innerText = 'Hide';
  24. })
  25. this.open = open
  26. this .setOpen = (value) => {
  27. this.open = value
  28. render()
  29. }
  30. this.getOpen = () => {
  31. return this.open
  32. }
  33. const render = () => {
  34. pass.setAttribute('type', `${this.open ? 'text' : 'password'}`);
  35. logn.setAttribute('type', `${this.open ? 'text' : 'password'}` );
  36. }
  37. return render()
  38. }
  39. let p = new Password(document.body, true)
  40. </script>
  41. </body>
  42. </html>