有些不清楚

有些不清楚

同样都是给予id,如果我在html中直接就设好id,结果运行时i的值一直是3.

1
2
3
4
5
6
7
8
9
10
11
 main.onmouseout();
    //遍历所有圆点,且绑定点击事件,点击圆点切换图片
    for (var i = 0; i < len; i++) { //0 1 2 3
        //给所有span添加一个id属性,值为i,作为当前span的索引
        dots[i].id = i;
        dots[i].onclick = function() { //function()找的是i的最终值,永远是3           
            //改变index为当前span的id值
            index = this.id; 
            //调用changeImg,实现切换图片
            changeImg();
        }

必须要在for循环中给id赋值,function中的i才能跟着变.

这两者的区别是什么?为什么结果不同啊?

正在回答

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

2回答

。。。你这是只能靠意会的意思嘛。我的意思,如果你是在HTML直接赋值id,那么你对应的js的相对应的代码是怎么写的?是和你现在贴出来的是一模一样的?

  • 银白色暴风雪 提问者 #1
    非常感谢! 原来是我的html代码写错了。直接在html中给id也能实现这种效果。在for循环里写是因为这样方便,对吗?
    2017-02-03 19:55:28
  • 更灵活吧,我的理解
    2017-02-03 21:14:27
没有马甲线的安琪拉 2017-02-03 15:04:45

html中直接赋值id的时候,你的js代码是怎么写的

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

0 星
HTML5与CSS3实现动态网页 2018
  • 参与学习       1887    人
  • 提交作业       4643    份
  • 解答问题       5760    个

有HTML和CSS基础,却不知道如何进阶?本路径带你通过系统学习,完成从“会做网页”到“做出好的动态网页”的蜕变,迈出成为前端工程师的第一步。

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

在线咨询

领取优惠

免费试听

领取大纲

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