登录  /  注册
博主信息
博文 98
粉丝 1
评论 0
访问量 77997
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
轮播图与xhr对象的学习
阿杰
原创
612人浏览过

一、轮播图的暂停与播放

  • 添加鼠标移入移出事件
  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返回

批改老师:PHPzPHPz

批改状态:合格

老师批语:
本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学