发表于: 2017-06-23 22:07:04
3 948
今天主要进行了任务4的书写和小课堂的准备
1. 先说任务4
首先是发现天数的一个bug
if (sessionStorage.getItem("playerStatus")) {
playerStatus.day++;
} else {
roleStatus.day++;
}
原本将这一段代码放在了一个for循环里,但是这样导致该段代码在满足for循环条件下多次无意义循环执行,所以先把for循环去了
原来存储天数的方式是playerStatus[i].day++,但是这样导致第一天被杀死的人天数多增加1,所以,在生成解密页面的时候,实际的第一天杀死的人会被添加到最底下,改用如上方式之后,就可以顺序展开解密内容
最终的结果页,同样使用jq动态添加
for (var i=0; i<roles.length; i++) {
$(".js-add").append(
playerStatus[i].num + "号玩家被杀死了,真实身份是" + playerStatus[i].identity
);
}
但是刷新之后出现了一个新的问题,就是所有的内容都被一键动态添加到div内,准备改为通过其他条件判断进行内容添加
2. 今天准备了小课堂的内容
原本在做CSS任务的时候,为了进行浏览器默认效果的重置,直接引入了reset.css将所有浏览器默认样式清除,今天做了一下小课堂发现原来还有使用normalize.css的方式进行样式重置的,并且有别于reset.css,这是一个实现功能更加灵活的方式
reset.css是由于各种浏览器解释CSS样式的初始值有所不同,导致设计师在没有定义某个CSS属性时,不同的浏览器会按照自己的默认值来为没有定义的样式赋值,所以我们要先定义好一些CSS样式,去“覆盖”浏览器的CSS默认属性,来让所有浏览器都按照同样的规则解释CSS,这样就能避免发生这种问题。
Normalize.css 只是一个很小的CSS文件,但它在默认的HTML元素样式上提供了跨浏览器的高度一致性。相比于传统的CSS reset,Normalize.css是一种现代的、为HTML5准备的优质替代方案。它不仅改正了一些浏览器显示的样式问题,而且还将一些浏览器原有的样式保留了,这样就不用重新在自己的样式表里进行排版
关于这两者的区别和应用,在明天具体展开
遇到的问题就是这个结果页的动态添加,准备明天解决,并且早日做完任务4
收获就是学会了新的浏览器样式重置知识,并且对浏览器样式重置加深了理解
评论