• JS——初始DOM的相关操作练习


    文章目录

    • 前言
    • 一、页面的开关灯
    • 二、根据系统时间提示信息
    • 三、广告的打开与关闭
    • 四、输入框的文字隐藏
    • 五、页面密码框
    • 总结


    前言

    前文介绍了初识DOM的相关知识点(感兴趣的朋友欢迎翻阅),本文就向大家分享一些利用对DOM操作解决简单实际应用的过程。


    一、页面的开关灯

    1.成果图:

     

    2.需求:

    • 当点击开关时,页面的颜色进行相应的改变,模拟开关灯的景象。

    3.JS实现过程:

    1. 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>开关灯练习title>
    8. <link rel="stylesheet" href="./CSS/reset.css">
    9. <style>
    10. /* 灯泡区域外部容器样式设置 */
    11. .light-wrapper {
    12. width: 200px;
    13. height: 250px;
    14. position: relative;
    15. margin: 100px auto;
    16. }
    17. .light {
    18. width: 100%;
    19. height: 200px;
    20. background-color: yellow;
    21. border-radius: 50%;
    22. position: absolute;
    23. z-index: 10;
    24. }
    25. .base {
    26. width: 140px;
    27. height: 80px;
    28. background-color: silver;
    29. position: absolute;
    30. z-index: 5;
    31. top: 150px;
    32. left: 15%;
    33. border-radius: 90%;
    34. }
    35. /* 按钮样式设置 */
    36. #btn {
    37. height: 80px;
    38. width: 80px;
    39. margin-left: 47.5%;
    40. font-size: 22px;
    41. border-radius: 50%;
    42. }
    43. style>
    44. head>
    45. <body>
    46. <div class="light-wrapper">
    47. <div class="light" id="light">div>
    48. <div class="base" id="base">div>
    49. div>
    50. <div>
    51. <button id="btn">OPENbutton>
    52. div>
    53. <script>
    54. // 获取 id 为 btn 的按钮
    55. var btn = document.getElementById('btn');
    56. // 获取页面元素 body
    57. var body = document.body;
    58. // 获取元素灯泡
    59. var light = document.getElementById('light');
    60. // 获取元素灯泡底座
    61. var base = document.getElementById('base');
    62. console.log(light);
    63. // 设置标识符
    64. var flag = true;
    65. // 设置按钮的点击事件
    66. btn.onclick = function () {
    67. flag = !flag;
    68. if (flag) {
    69. btn.innerText = 'OPEN';
    70. body.style.backgroundColor = '#fff';
    71. light.style.backgroundColor = 'yellow';
    72. base.style.backgroundColor = 'silver';
    73. } else {
    74. btn.innerText = 'CLOSE';
    75. body.style.backgroundColor = 'black';
    76. light.style.backgroundColor = 'gray';
    77. base.style.backgroundColor = 'silver';
    78. }
    79. }
    80. script>
    81. body>
    82. html>


    二、根据系统时间提示信息

    1.成果图:

    2.需求:

    • 根据当前系统时间给予用户相应的提示信息
    • 例如,当前时间为上午时,提示信息为“上午好呀,xxxx”。

    3.JS实现过程

    1. 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>用户登录title>
    8. <style>
    9. /* 提示信息外部容器样式设置 */
    10. .wrapper {
    11. width: 310px;
    12. height: 150px;
    13. background-color: rgba(203, 229, 232, 0.83);
    14. margin: 100px auto;
    15. }
    16. /* 标题样式设置 */
    17. .word {
    18. background-color: pink;
    19. font-size: 20px;
    20. padding-left: 40px;
    21. }
    22. /* 当前时间区域样式设置 */
    23. #time {
    24. padding-left: 20px;
    25. }
    26. /* 提示信息区域样式设置 */
    27. #msg {
    28. padding-left: 20px;
    29. font-size: 20px;
    30. }
    31. style>
    32. head>
    33. <body>
    34. <div class="wrapper">
    35. <p class="word">Bonsoir:欢迎你的登录!p>
    36. <p id="time">p>
    37. <div id="msg">div>
    38. div>
    39. <script>
    40. // 获取显示当前时间元素
    41. var time = document.getElementById('time');
    42. // 获取提示信息区域元素
    43. var msg = document.getElementById('msg');
    44. // 获取当前系统时间
    45. var now = new Date();
    46. // 分别获取时间分量
    47. var year = now.getFullYear();
    48. var month = now.getMonth() + 1;
    49. var date = now.getDate();
    50. var day = now.getDay();
    51. var hours = now.getHours();
    52. var minutes = now.getMinutes();
    53. var seconds = now.getSeconds();
    54. var dateNow = year + '-' + month + '-' + date + ' ' + '周' + day + ' ' + hours + ':' + minutes + ':' + seconds;
    55. time.innerText = '当前时间是: ' + dateNow;
    56. // 根据时间进行提示判断
    57. if (hours < 12) {
    58. msg.innerText = '上午好呀,Bonsoir!';
    59. } else if (hours < 17) {
    60. msg.innerText = '下午好呀,Bonsoir!';
    61. } else {
    62. msg.innerText = '晚上好呀,Bonsoir!';
    63. }
    64. script>
    65. body>
    66. html>

    三、广告的打开与关闭

    1.成果图:

    2.需求:

    • 初始页面时广告区域应该呈现,当用户点击关闭按钮时,关闭当前广告,反之则打开

    3.JS实现过程:

    1. 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>广告的打开与关闭title>
    8. <link rel="stylesheet" href="./CSS/reset.css">
    9. <style>
    10. /*表单区域外部容器样式设置*/
    11. form {
    12. width: 300px;
    13. height: 350px;
    14. background-color: rgba(205, 228, 236, 0.934);
    15. margin: 100px auto 0 auto;
    16. }
    17. /* 按钮样式设置 */
    18. button {
    19. width: 60px;
    20. height: 40px;
    21. }
    22. /* 广告区域样式设置 */
    23. .banner {
    24. width: 100%;
    25. height: 200px;
    26. margin-top: 20px;
    27. background-color: pink;
    28. font-weight: bold;
    29. }
    30. style>
    31. head>
    32. <body>
    33. <form action="#">
    34. <button id="btn">关闭button>
    35. <div class="banner">我是一个广告!div>
    36. form>
    37. <script>
    38. // 获取广告区域
    39. var div = document.getElementsByTagName('div')[0];
    40. // 获取按钮
    41. var btn = document.getElementById('btn');
    42. // 设置标识符
    43. var flag = true;
    44. // 设置按钮的点击事件
    45. btn.onclick = function () {
    46. flag = !flag;
    47. if (flag) {
    48. btn.innerText = '关闭';
    49. div.style.visibility = 'visible';
    50. } else {
    51. btn.innerText = '打开';
    52. div.style.visibility = 'hidden';
    53. }
    54. }
    55. script>
    56. body>
    57. html>

    四、输入框的文字隐藏

    1.成果图:

     2.需求:

    • 当输入框获取焦点时,输入框内预留文字消失
    • 失去焦点时,输入框内预留文字出现

    3.JS实现过程:

    1. 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>输入框文字样式设置title>
    8. <link rel="stylesheet" href="./CSS/reset.css">
    9. <style>
    10. /* 输入框外部容器样式设置 */
    11. .wrapper {
    12. width: 350px;
    13. margin: 100px auto 0 auto;
    14. }
    15. /* 输入框样式设置 */
    16. #input {
    17. width: 300px;
    18. height: 30px;
    19. outline: none;
    20. }
    21. style>
    22. head>
    23. <body>
    24. <form class="wrapper" action="#">
    25. <input type="text" id="input" placeholder="请输入您的用户名:">
    26. form>
    27. <script>
    28. // 获取输入框
    29. var input = document.getElementById('input');
    30. // 为输入框设置获取焦点与失去焦点事件
    31. input.onfocus = function () {
    32. input.placeholder = '';
    33. }
    34. input.onblur = function () {
    35. input.placeholder = '请输入您的用户名:';
    36. }
    37. script>
    38. body>
    39. html>

    五、页面密码框

    1.成果图:

    2.需求:

    • 实现密码框显示状态的切换,初始时密码为不可见状态,同时小眼睛的状态也为打开状态
    • 当用户点击输入框后的小眼睛,输入框的内容变为文本可见状态,同时小眼睛的状态也为关闭状态。

    3.JS实现过程: 

    1. 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>页面密码框title>
    8. <link rel="stylesheet" href="./JS/font_3547761_ecdde3pwrko/iconfont.css">
    9. <link rel="stylesheet" href="./CSS/reset.css">
    10. <style>
    11. /* 输入框外部容器样式设置 */
    12. .wrapper {
    13. width: 300px;
    14. position: relative;
    15. margin: 100px auto 0 auto;
    16. }
    17. /* 输入框样式设置 */
    18. #input {
    19. width: 100%;
    20. height: 30px;
    21. outline: none;
    22. }
    23. /* 小图标样式设置 */
    24. i {
    25. position: absolute;
    26. top: 10px;
    27. right: 7px;
    28. cursor: pointer;
    29. }
    30. style>
    31. head>
    32. <body>
    33. <div class="wrapper">
    34. <input type="text" id="input">
    35. <i class="iconfont" id="eyes">i>
    36. div>
    37. <script>
    38. // 获取小眼睛图标
    39. var eyes = document.getElementById('eyes');
    40. // 获取输入框
    41. var input = document.getElementById('input');
    42. // 设置标识符
    43. var flag = true;
    44. // 为小眼睛设置点击事件
    45. eyes.onclick = function () {
    46. flag = !flag;
    47. if (flag) {
    48. eyes.innerHTML = '';
    49. input.type = 'text';
    50. } else {
    51. eyes.innerHTML = '';
    52. input.type = 'password';
    53. }
    54. }
    55. script>
    56. body>
    57. html>

    总结

    好了,就此停笔,最后依旧诚挚祝福屏幕前的你健康幸福、平安喜乐。

  • 相关阅读:
    BIM算量与传统算量软件的对比和模型精准解决方案
    STM32单片机初学7-USART串口通信
    【论文阅读】MobileNetV4 - Universal Models for the Mobile Ecosystem
    Valkyrie网络测试仪的使用技巧100例--No.000 目录篇
    基于华为云IOT平台实现多节点温度采集(STM32+NBIOT)
    《安富莱嵌入式周报》第323期:NASA开源二代星球探索小车, Matlab2023b,蓝牙照明标准NLC, Xilinx发布电机套件,Clang V17发布
    支付宝支付接口的调用
    给定一个大小为 n 的数组 nums ,返回其中的多数元素
    2310D库功能还是语言功能
    JVM阶段(4)-回收策略
  • 原文地址:https://blog.csdn.net/Bonsoir777/article/details/126437634