博客列表 >轮播图实例演示,XHR 对象的使用

轮播图实例演示,XHR 对象的使用

lucaslwk
lucaslwk原创
2022年04月12日 18:43:16439浏览

轮播图实例演示,XHR 对象的使用

1.轮播图实例演示

轮播图

  1. //获取图片与按钮元素
  2. const imgs = document.querySelectorAll(".slider .imgs img");
  3. const btns = document.querySelectorAll(".slider .btns span");
  4. //点击按钮设置图片属性
  5. function setActive() {
  6. imgs.forEach((item) => item.classList.remove("active"));
  7. btns.forEach((item) => item.classList.remove("active"));
  8. event.target.classList.add("active");
  9. imgs.forEach((item) => {
  10. if (item.dataset.index === event.target.dataset.index) {
  11. item.classList.add("active");
  12. }
  13. });
  14. }
  15. //Object.keys()返回一个由一个给定对象的自身可枚举属性组成的数组
  16. let btnsarr = Object.keys(btns);
  17. function next() {
  18. let i = btnsarr.shift();
  19. btnsarr.push(i);
  20. //[1,2,0]时显示的为[0,1,2]的效果,调整
  21. if (i <= 1) {
  22. i = parseInt(i) + 1;
  23. btns[i].dispatchEvent(new Event("click"));
  24. } else {
  25. i = parseInt(i) - 2;
  26. btns[i].dispatchEvent(new Event("click"));
  27. }
  28. }
  29. function previous() {
  30. let i = btnsarr.pop();
  31. btnsarr.unshift(i);
  32. btns[i].dispatchEvent(new Event("click"));
  33. }
  34. let time;
  35. function interval() {
  36. //需要重复的函数,每次延迟的毫秒数,传给函数的置顶参数
  37. time = setInterval(next, 1500);
  38. }
  39. interval();
  40. const slider = document.querySelector(".slider");
  41. slider.onmouseover = () => {
  42. clearInterval(time);
  43. };
  44. slider.onmouseleave = () => {
  45. interval();
  46. };

2.XHR 对象的使用

XHR

  1. function getUser() {
  2. //创建一个xhr对象
  3. const xhr = new XMLHttpRequest();
  4. //设置从服务器拿回数据的类型
  5. xhr.responseType = "json";
  6. //配置参数,请求类型,get读操作,post写操作,请求地址,是否异步,默认值true
  7. xhr.open("GET", "http://0411.com/users.php");
  8. //成功加载时的回调函数,xhr.response为返回的值
  9. xhr.onload = () => {
  10. console.log(xhr.response);
  11. };
  12. //错误加载时的回调函数
  13. xhr.onerror = () => {
  14. console.log("error");
  15. };
  16. //发送xhr请求
  17. xhr.send(null);
  18. }
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议