发表于: 2017-03-30 22:55:13
1 1241
一、今天做的事情
1. 进行js-task4,完成了大概1/3
二、明天做的事情
继续进行js-task4
三、遇到的问题
遇到的问题比较麻烦:
奇怪的问题1
var players = document.getElementsByClassName(“id”); //获取classname为”id”的元素集合.
for (var i = 0 ; i < players.length; i++) //遍历这个集合
{
players[i].onclick = function(){
var tag = document.createElement(“div”);d
tag.setAttribute(“class”,”tag”); //设置tag的属性
players[i].appendChild(tag); //为每个集合中的元素,添加一个tag子元素
// 这里有报错:Mutable variable is accessible from closure;
}
}
似乎是闭包的问题。 我把players[i].appendChild(tag)改成this.appendChild(tag),函数就可以正常运行了。
至今没搞明白是哪里错了。 这里的this,难道不是调用函数的对象,也就是players[i]吗? 那为什么直接用players[i]就不行?
四、收获
1. 如何遮盖元素
白天/夜晚的月亮和太阳图标,是用一条线连着的. 我想让这条线不进入图片内部.
实现部分遮挡效果(下面左图的效果,而不是右图的效果)
使用绝对定位+z-index解决了这个问题, 不知道有没有更好的方法.
2. 获取并操作子元素
应该用xxx.childNodes来获取元素的子元素集合,再操作, 而不是直接用xx[0]这样来表示子元素
评论