为什么我在JS文件中用了window.onload以后,代码就不执行了。

为什么我在JS文件中用了window.onload以后,代码就不执行了。

正在回答

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

3回答

同学你好, 已经使用window.onload函数包裹所有的代码, 就不需要在load函数下去执行bannerImg函数了,建议修改:

http://img1.sycdn.imooc.com//climg/5d32f4e200011ac804580078.jpg

如果还有问题, 建议: 可以将你的HTML代码也粘贴过来, 便于准确的定位与解决问题

如果帮助到了你, 欢迎采纳!

祝学习愉快~~~~

提问者 夜雨倾河 2019-07-20 18:31:39

window.onload = function (){

var index = 0,

nav = byId("nav").getElementsByTagName("span"),

img = byId("banner").getElementsByTagName("div"),

sec = document.getElementsByTagName("section")[0],

size = img.length,

time = null;


function byId(id){

return typeof(id) === "string" ? document.getElementById(id):id;

};

function addHandler(element,type,handler){

if(element.addEventListener){

element.addEventListener(type,handler);

}else if(element.attachEvent){

element.attachEvent("on"+type,handler);

}else{

element["on"+type] = handler;

}

};

//图片自动轮播

function startAutoplay(){

time = setInterval(function(){

           index++;

           if(index >= size){

               index = 0;

           };

           changeImg();

       },1000)

}

//停止图片自动轮播

function stopAutoplay(){

clearInterval(time);

}

//图片切换

function changeImg(){

for(var i = 0;i < size;i++){

nav[i].className = "";

img[i].style.display = "none";

}

nav[index].className = "active";

img[index].style.display = "block";

}

//导航切换图片

function navImg(){

for(var i = 0;i < size;i++){

nav[i].setAttribute("data-id",i)

addHandler(nav[i],"mousemove",function(){

               index = this.getAttribute("data-id");

               changeImg();

           })

};

}

function bannerImg(){

startAutoplay();

navImg();

addHandler(sec,"mousemove",stopAutoplay);

addHandler(sec,"mouseout",startAutoplay);

};

addHandler(window,"load",bannerImg);

}


好帮手慕慕子 2019-07-20 18:29:50

同学你好, 建议: 可以将你的完整代码粘贴过来,不要截图哦, 便于老师高效的为你解决问题,祝学习愉快~~~

  • 提问者 夜雨倾河 #1
    帮忙看下,谢谢。我在head标签内引入了这个js文件,执行不了
    2019-07-20 18:32:59
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

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