JavaScript基础视频教程总结(131-140章)

这篇博客总结了JavaScript的定时器应用,包括向右移动盒子的动画实现,多方向变化的动画,轮播图的完整实现,以及类(class)操作。通过实例详细讲解了如何使用定时器创建动态效果,以及如何利用JavaScript操作DOM实现页面元素的样式切换和事件响应。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>131-140章总结</title>
  6. </head>
  7. <body>
  8. <pre>
  9. 131. 定时器的应用1
  10. </pre>
  11. <style type="text/css">
  12. #box1 {
  13. width: 100px;
  14. height: 100px;
  15. background-color: red;
  16. position: absolute;
  17. left: 0;
  18. }
  19. </style>
  20. <button id="btn01">点击按钮以后box1向右移动</button>
  21. <div class="" style="position: relative;height: 200px;">
  22. <div id="box1"></div>
  23. </div>
  24. <script type="text/javascript">
  25. console.log("131");
  26. var box1 = document.getElementById("box1");
  27. var btn01 = document.getElementById("btn01");
  28. var timer1;
  29. btn01.onclick = function(){
  30. clearInterval(timer1);
  31. timer1 = setInterval(function(){
  32. var oldValue = parseInt(getStyle(box1,"left"));
  33. var newValue = oldValue + 10;
  34. if(newValue > 800){
  35. newValue = 800;
  36. }
  37. box1.style.left = newValue + "px";
  38. if(newValue == 800){
  39. clearInterval(timer1);
  40. }
  41. },30);
  42. };
  43. /*
  44. * 定义一个函数,用来获取指定元素的当前的样式
  45. * 参数:
  46. * obj 要获取样式的元素
  47. * name 要获取的样式名
  48. */
  49. function getStyle(obj , name) {
  50. if(window.getComputedStyle){
  51. //正常浏览器的方式,具有 getComputedStyle()方法
  52. return getComputedStyle(obj , null)[name];
  53. } else {
  54. //IE8的方式,没有getComputedStyle()方法
  55. return obj.currentStyle[name];
  56. }
  57. }
  58. </script>
  59. <pre>
  60. 132. 定时器的应用2
  61. </pre>
  62. <div class="" style="position: relative;height: 200px;">
  63. <button id="btn21">点击按钮以后box1向右移动</button>
  64. <button id="btn22">点击按钮以后box1向左移动</button>
  65. <br /><br />
  66. <div id="box21" style="width: 100px;height: 100px;background-color: #ddd;position: absolute;"></div>
  67. </div>
  68. <script type="text/javascript">
  69. console.log("132");
  70. var box21 = document.getElementById("box21");
  71. var btn21 = document.getElementById("btn21");
  72. var btn22 = document.getElementById("btn22");
  73. //点击按钮以后,使box1向右移动(left值增大)
  74. btn21.onclick = function(){
  75. move(box21 , 800 , 10);
  76. };
  77. //点击按钮以后,使box1向左移动(left值减小)
  78. btn22.onclick = function(){
  79. move(box21 , 0 , 10);
  80. };
  81. //定义一个变量,用来保存定时器的标识
  82. var timer2;
  83. //尝试创建一个可以执行简单动画的函数
  84. /*
  85. * 参数:
  86. * obj:要执行动画的对象
  87. * target:执行动画的目标位置
  88. * speed:移动的速度(正数向右移动,负数向左移动)
  89. */
  90. function move(obj , target ,speed){
  91. // 关闭上一个定时器
  92. clearInterval(timer2);
  93. // 获取元素目前的位置
  94. var current = parseInt(getStyle(obj,"left"));
  95. //判断速度的正负值
  96. //如果从0 800移动,则speed为正
  97. //如果从8000移动,则speed为负
  98. if(current > target){
  99. //此时速度应为负值
  100. speed = -speed;
  101. }
  102. //开启一个定时器,用来执行动画效果
  103. timer2 = setInterval(function(){
  104. //获取obj的原来的left
  105. var oldValue = parseInt(getStyle(obj,"left"));
  106. //在旧值的基础上增加
  107. var newValue = oldValue + speed;
  108. //判断newValue是否大于800
  109. //800 0移动
  110. //向左移动时,需要判断newValue是否小于target
  111. //向右移动时,需要判断newValue是否大于target
  112. if((speed < 0 && newValue < target) || (speed > 0 && newValue &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值