JavaScript:如何重新创建"动画你的名字"Codecademy的教训
JavaScript: How to recreate "Animate Your Name" lesson from Codecademy?
Codecademy网站上有一节课,用户可以学习使用JavaScript在画布元素上创建一个动画名称。几个月来,我一直在尝试重现这个结果,但我所做的一切都没有让我接近我想要的结果。
下面是在课程中使用的HTML和JavaScript(链接在这里:http://www.codecademy.com/goals/animate-your-name)。虽然只能在Codecademy网站上使用。
JavaScript:注1:此版本的JS 与原始版本相比略有修改。
注2:此JavaScript的文件名为 main.js
。
var red = [359, 100, 29.8];
var orange = [40, 100, 60];
var green = [75, 100, 40];
var blue = [196, 77, 55];
var purple = [280, 50, 60];
var bluefield = [199, 100, 22.9];
var myName = "Bluefield";
var letterColors = [bluefield,red];
var bubbleShape = "square";
drawName(myName, letterColors);
bounceName();
bounceBubbles();
HTML(完整):
注释:我直到今天(2014年8月6日)才看到这个HTML。
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="http://s3.amazonaws.com/codecademy-content/courses/hour-of-code/js/alphabet.js"></script>
</head>
<body>
<canvas id="myCanvas"></canvas>
<script type="text/javascript" src="http://s3.amazonaws.com/codecademy-content/courses/hour-of-code/js/bubbles.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
下面是来自最近的JSFiddle使用类似的代码(链接在这里:http://jsfiddle.net/mnbishop017/cd7djy02/)。这个不能工作。
JavaScriptvar red = [359, 100, 29.8];
var orange = [40, 100, 60];
var green = [75, 100, 40];
var blue = [196, 77, 55];
var purple = [280, 50, 60];
var bluefield = [199, 100, 22.9];
var myName = "Bluefield";
var letterColors = [bluefield,red];
var bubbleShape = "square";
drawName(myName, letterColors);
bounceName();
bounceBubbles();
HTML(在'body'标签内):
<canvas id="myCanvas"></canvas>
外部资源链接(重要!):
- http://s3.amazonaws.com/codecademy-content/courses/hour-of-code/js/alphabet.js(来自原始课程的HTML)
我设法让它在这里工作:http://jsfiddle.net/rmadhuram/he1pqyzz/1/
技巧是添加jQuery,然后将外部库添加到HTML的<body>
中,如下所示:<canvas id="myCanvas"></canvas>
<script type="text/javascript" src="http://s3.amazonaws.com/codecademy-content/courses/hour-of-code/js/bubbles.js"></script>
尝试在蓝色和红色之间留出空间:var letterColors = [blue, red];
对我来说这是唯一的问题。
相关文章:
- 铬:“;未捕获的语法错误:意外的标记:"
- 可以设置“;文件名"发生错误时显示的内联脚本标记的
- JS表单提交"无法使用Chrome数据保护程序加载此页面.尝试重新加载页面.调试信息:POST CISmtuK
- 检测电话窃听,即:<a href="电话:xxx">在UIWebview上
- 使用“+="操作人员
- //而不是在src=“”上使用http://"属性
- "未捕获的语法错误:意外的标记}"
- 可以<脚本类型=“;text/javascript”>window.location=“/"</
- "实例范围”;TypeScript类的getter/setter
- Javascript复选框函数:;缺少:在属性id之后"
- "“;变量未引用正确的对象
- "日期“;AJAX请求返回的类型值未定义
- 得到"TypeError:无法读取属性'filename'未定义的“;调用“npm start
- Soundcloud api"未捕获的类型错误:无法读取属性'uri'“未定义”;
- "工具提示"jQuery插件坏了
- "锻造;React中的表达式
- 图像可以从源<img src=""/>.TEXT可以在没有javascript的情况下从外部
- 如何提取“;href"最近列表项中的属性值
- CKEditor如何允许href="javascript:void(0)"在小部件中
- Codecademy“;SyntaxError:意外的标记else"