Blogger Information
Blog 17
fans 0
comment 0
visits 8259
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Js的classList演示以及Event事件的演示
想做一个躺平的程序员
Original
451 people have browsed it

1.classList演示

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>计算样式</title>
  7. </head>
  8. <body>
  9. <h2 style="color: red;" >第二等级的标题</h2>
  10. <h3>第三等级的标题</h3>
  11. <h4>第四等级的标题</h4>
  12. <style>
  13. .box{
  14. color: yellow;
  15. }
  16. .box2{
  17. background-color: blue;
  18. }
  19. </style>
  20. </body>
  21. <script>
  22. // 获取计算样式有两种
  23. // 第一种是只能计算行内样式
  24. let h2=document.querySelector("h2");
  25. //改变h2背景颜色为蓝色
  26. h2.style.backgroundColor="blue";
  27. //查看h2的背景样式 //控制台打印为blue
  28. console.log(h2.style.backgroundColor);
  29. //由于第一种不常用
  30. //我们来看看第二种获取计算样式,第二种的话能计算外部样式和外联样式
  31. let h3=document.querySelector("h3");
  32. let h3cssobj=window.getComputedStyle(h3); //获取h3的外部样式和外两样式
  33. console.log(h3cssobj.color);//打印rbg(0,0,0)
  34. //我们来为h3标题添加字体颜色
  35. //我们来看classlist属性,classlist属性可以访问,修改以及添加,删除class类的属性
  36. //添加一个或多个类属性
  37. //添加字体颜色为黄色
  38. h3.classList.add("box");
  39. //访问
  40. console.log(h3.classList);
  41. //删除
  42. h3.classList.remove("box");
  43. //toggle() : 当第一个参数存在class属性时,将移除该属性,当不存在class属性,则对元素添加class属性
  44. h3.classList.toggle("box"); //第一个参数不存在,将添加class属性
  45. h3.classList.toggle("box");//第一个参数存在,将移除class属性
  46. </script>
  47. </html>

通过看上面的代码,我们再来看看页面效果


2.事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>js事件</title>
  7. </head>
  8. <body>
  9. <ul class="list">
  10. <li >item1</li>
  11. <li>item2</li>
  12. <li>item3</li>
  13. <li>item4</li>
  14. <li>item5</li>
  15. </ul>
  16. </body>
  17. <script>
  18. // 事件
  19. // let li=document.querySelector("li"); //获取li节点第一个
  20. // li.onclick=function(){
  21. // console.log("事件创建成功");
  22. // }
  23. //事件监听器
  24. //参数一为事件类型,参数二为行为
  25. // li.addEventListener("click",function(){
  26. // event.preventDefault; //取消默认行为
  27. // event.stopPropagation;//停止事件冒泡行为
  28. // console.log(`事件监听器被执行成功` );
  29. // })
  30. //自定义事件
  31. // let click=new Event("click");
  32. // //定时器执行
  33. // setInterval(function(){
  34. // li.dispatchEvent(click);
  35. // },2000)
  36. //事件冒泡
  37. // let ul=document.querySelector(".list");
  38. // li.addEventListener('click',function(){
  39. // console.log(event.currentTarget); //事件的本体
  40. // console.log(event.target); //事件的触发者
  41. // event.preventDefault(); //是个方法,取消默认行为
  42. // event.stopPropagation(); //阻止事件冒泡
  43. // console.log("li");
  44. // });
  45. // ul.onclick=function(){
  46. // console.log('ul');
  47. // }
  48. // document.body.onclick=function(){
  49. // console.log("body");
  50. // }
  51. //事件委托
  52. // 将需要添加到子元素本身上的事件,通过添加到父元素上来进行触发
  53. let ul=document.querySelector(".list");
  54. ul.addEventListener("click",function(){
  55. console.log(event.currentTarget);
  56. console.log(event.target);
  57. console.log("ul");
  58. });
  59. document.querySelectorAll("li")[0].onclick=
  60. function(){
  61. console.log("li1");
  62. }
  63. document.querySelectorAll("li")[1].onclick=
  64. function(){
  65. console.log("li2");
  66. }
  67. document.querySelectorAll("li")[2].onclick=
  68. function(){
  69. console.log("li3");
  70. }
  71. </script>
  72. </html>

2-1.表单事件

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>js表单事件</title>
  7. </head>
  8. <style>
  9. form{
  10. width: 300px;
  11. margin: 0 auto;
  12. }
  13. fieldset{
  14. /* 设置为网格容器 */
  15. display: grid;
  16. grid-template-columns: 4rem 1fr;
  17. grid-gap: .5rem;
  18. place-items: center;
  19. }
  20. fieldset legend{
  21. text-align: center;
  22. }
  23. fieldset button{
  24. grid-area: auto/ span 2;
  25. }
  26. .box{
  27. box-shadow: 0 0 .2rem mediumturquoise;
  28. border: none;
  29. transition: 1s;
  30. }
  31. </style>
  32. <body>
  33. <form action="" method="POST " id="login">
  34. <fieldset>
  35. <legend>用户登录</legend>
  36. <label for="username">用户名:</label>
  37. <input type="text" name="username" id="username">
  38. <label for="email">邮箱:</label>
  39. <input type="email" name="email" id="email">
  40. <button type="submit">登录</button>
  41. </fieldset>
  42. </form>
  43. <script>
  44. // 1. submit: 提交时触发
  45. // 2. focus: 获取焦点时触发
  46. // 3. blur: 失去焦点时触发
  47. // 4. change: 值发生改变且失去焦点时触发
  48. // 5. input: 值发生改变就会触发,不必等失去焦点,与change不同
  49. let bnt1=document.querySelector("button");
  50. bnt1.addEventListener("click",function(){
  51. event.stopPropagation();//阻止事件冒泡
  52. event.preventDefault();//取消表单默认行为
  53. });
  54. // 每一个表单控件都有对应的表单
  55. let form=bnt1.form;
  56. console.log(bnt1.form);
  57. // 获取用户输入控件
  58. let username=form.username;
  59. //获取邮箱控件
  60. let email=form.email;
  61. //为用户输入框添加获取焦点是触发事件
  62. username.onblur=function(){
  63. if(username.value==''){
  64. console.log("用户名不能为空");
  65. }
  66. }
  67. //获取焦点时
  68. username.onfocus=function(){
  69. console.log(username.classList);
  70. username.classList.add("box");
  71. setTimeout(function(){username.classList.toggle("box")},2500);
  72. }
  73. </script>
  74. </body>
  75. </html>
Correcting teacher:PHPzPHPz

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post