题目需要在一个页面插入两个windows.onload.之前课程没有提到吧?

题目需要在一个页面插入两个windows.onload.之前课程没有提到吧?

// 封装一个获取id值的方法
   function byid(id) {
       return typeof (id) === "string" ? document.getElementById(id) : id;
   }

   var navBar = byid("nav-bar"),
       navTitle = navBar.getElementsByTagName("li"),
       ban = byid("banner"),
       imgList = ban.getElementsByTagName("div"),
       len = imgList.length,
       timer = null,
       index = 0;
function dfd(){
// 鼠标放在banner上清除间歇调用
   ban.onmouseover = function () {
       if (timer) {
           clearInterval(timer)
       }
   }

// 鼠标移出时图片轮播
   ban.onmouseout = function () {
       timer = setInterval(function () {
           index++;
           if (index >= len) {
               index = 0;
           }
           changeImg()
       }, 1000)
   }
   ban.onmouseout();
// 遍历选项卡,添加id属性为选项卡索引,赋值给index,鼠标点击选项卡时清除间歇调用
   for (var i = 0; i < len; i++) {
       navTitle[i].id = i;
       navTitle[i].onclick = function () {
           index = this.id;
           changeImg();
           if (timer) {
               clearInterval(timer);
           }

       }

   }


}


dfd();
function changeImg() {
   /*遍历banner下所有div将其隐藏*/
   for (var d = 0; d < len; d++) {
       imgList[d].style.display = "none";
       navTitle[d].className = "";


   }
   // 根据index索引显示图片
   imgList[index].style.display = "block";
   navTitle[index].className = "shadow-pic";


}

不可能把整个代码放到一个windows.onload=function(){}里吧,根据题目要求需要在head页面引用js,changeImg这个函数应该也要用windows.onload,所以需要2个,方法之前没有说啊

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
妮可妮可妮_ 2018-07-13 19:11:01

http://img1.sycdn.imooc.com//climg/5b488883000155dd07930208.jpghttp://img1.sycdn.imooc.com//climg/5b48889900012a9302890172.jpg

关于onload事件我们课程有讲的哦~

  • 提问者 挪威_ #1
    我的js这样写的,js写在body代码最后打开没问题,在head引用后,我代码写在了windows.onload=function(){}后,浏览器测试页面,必须刷新一下才正常显示,不知道为什么?
    2018-07-13 21:12:47
  • 卡布琦诺 回复 提问者 挪威_ #2
    建议亲新建问题,将html、css、js代码全部贴上来,以便于大家测试你的代码并帮你解答!
    2018-07-15 09:25:25
妮可妮可妮_ 2018-07-13 18:45:08

根据作业要求,脚本需要在head标签中引用,调用页面加载后执行脚本函数,只需要将所有js代码放在一个windows.onload=function(){}里就可以啦~不需要两个的,

  • 提问者 挪威_ #1
    这样的话一进入页面时候,调用函数不是也同时执行了?
    2018-07-13 18:51:01
  • 妮可妮可妮_ 回复 提问者 挪威_ #2
    这样调用页面加载后执行js代码,changeImg这个函数会在调用的时候执行,所以不需要用两个windows.onload=function(){}
    2018-07-13 19:07:52
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
前端小白入门系列课程
  • 参与学习           人
  • 提交作业       11218    份
  • 解答问题       36713    个

从一个不会编程的小白到一个老司机是需要过程的,首先得入门,学习基础知识,然后才能进阶,最后再到精通,本专题是你走进前端世界的不二选择!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师