为了督促自己,这篇博文将被我用来记录我的学习历程。
第一天:
part 1: 运用html5中的canvas在页面绘图——Uncaught TypeError: Cannot call method 'getContext' of null
其实我昨晚就遇到这个问题了,本来应该昨晚写的,不过太晚了。
老实说,作为新手,还真是什么简答或者奇葩的问题都会遇上。
原来的代码:
<!DOCTYPE html> <html xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>html5练习</title> <script type="text/javascript"> var target = document.getElementById("myCanvas"); var circle = target.getContext("2d"); circle.fillStyle = "#FF0000"; circle.fillRect(0,0,150,75); </script> </head> <body> <div id="myCanvas"></div> </body> </html>
将代码运行到chrome上,出现了Uncaught TypeError: Cannot call method 'getContext' of null 问题,后来上stackoverlfow上找到了原因:
因为我的javascript代码在head头部,在DOM加载完成之前,var target = document.getElementById("myCanvas")的值为NULL,所以解决方法可以使用window.onload或者jquery或者其它库来实现DOM加载完成后再执行javascript代码。
错误使用<div>标签,应该使用<canvas>标签(=_=!果然新手)。
part 2:运用html5中的canvas在页面绘图
如果不想让画出的图案不是默认的黑色,那么fillStyle、lineWidth、lineCap、lineCap等属性应在调用fillRect方法前设置相应的值。
<!DOCTYPE html> <html xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>Document</title> <script type="text/javascript"> window.onload = function() { var target = document.getElementById("myCanvas"); if(target.getContext) { /* lineWidth设置线条的宽度,lineJoin控制线条相交的方式, strokeStyle控制图形的边缘画线,strokeRect指定图案在画布上的位置 下列代码获得半透明的蓝色描边圆角矩形 */ var pic = target.getContext("2d"); pic.lineWidth = "10"; pic.lineJoin = "round"; pic.strokeStyle = "rgba(0,0,255,0.5)"; pic.strokeRect(30,30,50,50); } } </script> </head> <body> <canvas id="myCanvas" width="400"></canvas> </body> </html>
效果如下:
第二天:很遗憾没有做到些什么,回到宿舍已经不早了。听了同僚的一番话,我觉得还是挺值得的。所以回到宿舍,等我忙完琐碎的事情之后,我就在自己空间写了一篇随想。
第三天:
part 1: 前天,我算是把《细说PHP》给看完了。老实说,这本书里面挺多错别字的,搞得我都有冲动帮它勘误了。总的来说,个人感觉还是应该跟着书本一边学一边写,不能急躁。今天用PHP写书本上的一个“简易计算器”,我又遇到了问题——”Notice:Undefined index: num1 in .....“。
这句提醒并非是错误,是一个提醒。虽然只是一个提醒,不过作为初学者还是认真点好。经过查找相关资料,找到了两种方法。之所以出现那样的提醒,是因为在初始运行页面时,$_POST['num1']这个值不存在。那么,可以使用isset($_POST['num1'])检测变量是否存在。
<!DOCTYPE html> <html xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>简易计算器</title> </head> <body> <table border="1" width="400"> <form action="" method="post"> <caption>计算器</caption> <tr> <td> <input type="text" name="num1" value="<?php echo $_POST['num1'] ?>" /> </td> <td> <input type="text" name="num2" value="<?php echo (isset($_POST['num2']))?$_POST['num2']:'' ?>" /> </td> <td> <input type="submit" value="计算"> </td> </tr> </form> </table> </body> </html>
第四天:说实话,今天下午开始有点厌学情绪,经过一段时间的调整才缓过来。今天,小伙伴在群里分享了阿里实习生招聘的信息,不得不感慨~好快就要工作啦~回归正题,今天貌似没有遇到什么问题,呵呵。
第五天、第六天、第七天、第八天:看了好几天的书,又是《细说PHP》、《Javascript高级程序设计》。不知不觉今天已经是3月4日了。在这几天里,发现了一个网站觉得还不错——极客标签。在里面,我又挖到了一个是阿里前端的一个关于Node.js的干货——七天学会NodeJS。那么,我就本着了解的心态也开始着手NodeJS的东西了,当然对于PHP和Javascript,我是不会放弃你们的~!这不外乎像高中那样子,同时学物理、化学、生物、语文等科目,难道不是么?这应该比高中舒服多了吧!
不知不觉又过了4天,呵呵,前段时间思绪很混乱,有点盲目。最近在努力完成之前被搁置的富文本编辑器。