老师请帮我解答下问题...

老师请帮我解答下问题...

// 声明全局变量 
var index = 0, // 当前显示图片索引,默认值为0;
    prev = byId("prev"), // 上一张
    next = byId("next"), // 下一张
    dots = byId("dots").getElementsByTagName("span"),
    pics = byId("banner").getElementsByTagName("div"), // 获取图片
    size = pics.length;
    

// 封装getElementById()
function byId(id) {
    return typeof(id) === "string" ? document.getElementById(id):id;
}


/* 封装通用事件绑定方法
        element绑定事件的Dom元素
        事件名
        事件处理程序
*/
function addHandle(element,type,handler) {
    // 非ie浏览器
    if(element.addEventListener) {
        element.addEventListener(type,handler,true)
    }
    // ie浏览器支持dom2级
    else if(element.attachEvent) {
        element.attachEvent("on" + type,handler)
    }
    // ie浏览器不支持dom2级
    else {
        element["on"+type] = handler;
    }
}

// 点击按钮显示下一张或上一张图片
/*
这个是dom零级事件绑定
next.onclick = function() {
    alert("123")
}
下面是dom二级事件

next.addEventListener("click", function(){
    alert("123");
});
next.addEventListener("click", function(){
    alert("456");
});

*/

//切换图片函数封装
function changeImg() {
    for(var i=0; i<size; i++) {
        pics[i].style.display = "none";
        dots[i].className = "";
    }
    pics[index].style.display = "block";
    dots[index].className = "active";

}

// 调用上面封装的事件绑定通用方法
//点击按钮切换图片
addHandle(prev,"click",function() {
    index--;
    if(index<0) index = size-1;
    changeImg()
});
addHandle(next,"click",function() {
    index++;
    if(index>=3) index = 0;
    changeImg()
});
// 图片索引小点点,点击小点点切换图片
for(var d=0; d<size; d++) {
    dots[d].setAttribute("data-id",d);
    addHandle(dots[d], "click", function(){
        index = this.getAttribute("data-id");
        // alert(index);
        changeImg()
    })
}

点击小点点 切换不了图片 不知道哪里出问题了

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

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

2回答
好帮手慕粉 2019-12-17 09:46:52

同学你好,这个项目的代码量是不多的哦,不需要添加qq号,同学直接将完整的代码粘贴到问答区就可以呢。而且这样在同学后期复习的时候,就可以在自己的问答里面查漏补缺,也能知道自己哪个地方有问题,会有助于同学的学习,整理起来也会更加方便的。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

好帮手慕粉 2019-12-16 16:07:21

同学你好,因为同学只提供了js代码,老师就在视频代码的基础上测试的同学的代码,这边测试的是没有问题的,建议同学多刷新几次浏览器或者换个浏览器再测试一下。如果不能解决,建议同学将完整代码粘贴上来,便于老师更快的定位问题。

如果我的回答帮助到了你,欢迎采纳,祝学习愉快~

  • 提问者 琥珀_2020 #1
    别的浏览器也试了 也没用呢 老师 可以加下你QQ吗 我发源码 你看看 这样方便呢
    2019-12-16 22:35:31
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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