Blogger Information
Blog 87
fans 1
comment 0
visits 59170
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
轮播图与xhr对象的学习
阿杰
Original
451 people have browsed it

一、轮播图的暂停与播放

  • 添加鼠标移入移出事件
  1. <div class="slider" onmouseover="pointerIn()" onmouseleave="pointerOut()">
  2. <div class="imgs">
  3. <img src="./images/banner1.jpg" alt="" data-index="1" class="active" />
  4. <img src="./images/banner2.jpg" alt="" data-index="2" />
  5. <img src="./images/banner3.png" alt="" data-index="3" />
  6. </div>
  7. <div class="btns">
  8. <span data-index="1" class="active" onclick="setActive()"></span>
  9. <span data-index="2" onclick="setActive()"></span>
  10. <span data-index="3" onclick="setActive()"></span>
  11. </div>
  12. </div>
  • 触发对应鼠标事件
  1. // 自动播放
  2. // 间歇式触发,每隔一段固定时间回自动触发一次事件
  3. // setInterval:除了回调和时间外,还可以传入第三个参数,做为回调的参数
  4. var setVal = setInterval((arr) => {
  5. // 头部删除
  6. let i = arr.shift();
  7. // 尾部追加
  8. arr.push(i);
  9. arrNew = arr;
  10. // 事件派发:模拟用户点击
  11. btns[i].dispatchEvent(new Event('click'));
  12. },2000,Object.keys(btns));
  13. // 作业1: 实现鼠标悬停时自动停止播放, 离开时又自动播放
  14. function pointerIn(){
  15. // console.log('In');
  16. clearInterval(setVal);
  17. }
  18. function pointerOut(){
  19. // console.log('Out');
  20. setVal = setInterval((arr) => {
  21. // 头部删除
  22. let i = arr.shift();
  23. // 尾部追加
  24. arr.push(i);
  25. arrNew = arr;
  26. // 事件派发:模拟用户点击
  27. btns[i].dispatchEvent(new Event('click'));
  28. },2000,arrNew);
  29. }
  • 效果

(1)鼠标移入,轮播暂停

(2)鼠标移出,轮播继续

二、轮播图的翻页

  • 添加翻页按钮
  1. <div class="btCont">
  2. <span onclick="preImg()">上一张</span>
  3. <span onclick="nextImg()">下一张</span>
  4. </div>
  5. <script>
  6. var arrNew = Object.keys(btns);
  7. function preImg(){
  8. // 尾部删除
  9. let i = arrNew.pop();
  10. // 头部追加
  11. arrNew.unshift(i);
  12. // 事件派发:模拟用户点击
  13. btns[arrNew[0]].dispatchEvent(new Event('click'));
  14. }
  15. function nextImg(){
  16. // 头部删除
  17. let i = arrNew.shift();
  18. // 尾部追加
  19. arrNew.push(i);
  20. // 事件派发:模拟用户点击
  21. btns[arrNew[0]].dispatchEvent(new Event('click'));
  22. }
  23. </script>
  • 效果

三、xhr对象的使用

  • XHR的创建与使用
  1. function getUser1(btn) {
  2. // 1. 创建xhr对象
  3. const xhr = new XMLHttpRequest;
  4. // 2. 响应类型
  5. xhr.responseType = 'json'
  6. // 3. 配置参数
  7. let url = 'http://xhr.test.com/users.php?id=1'
  8. xhr.open('GET', url);
  9. // 4. 请求成功的回调
  10. xhr.onload = () => {
  11. // 返回的值
  12. console.log(xhr.response);
  13. // document.querySelector('button:first-of-type').after(xhr.response.id)
  14. }
  15. // 5. 请求失败的回调
  16. xhr.onerror = () => {
  17. // 返回的值
  18. console.log('请求错误');
  19. }
  20. // 6. 发起xhr请求
  21. xhr.send(null)
  22. }
  • 请求得到对应json返回

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