使用外部 Javascript 在 HTML 页面上显示一个框
Displaying a Box on an HTML page using external Javascript?
当在HTML页面上单击提交按钮时,一个框也应该显示在页面上任何颜色的任何位置。我正在使用外部JavaScript页面来完成此操作。但是,它不起作用...我试图调试它,但它不会超过var body = document.getElementsById("body")[0];
以下是 HTML 代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Exercise 2 - Question 2</title>
<script src="E02_Q2.js"></script>
</head>
<body>
<form>
<input type="submit" value="Add Box" onclick="ShowBox()"/>
</form>
</body>
</html>
这是伴随它的外部Javascript:
function ShowBox(){
//get the body element of the document
var body = document.getElementsById("body")[0];
//create the canvas tag
var canvas = document.createElement("canvas");
canvas.height = 200;
canvas.width = 200;
var context = canvas.getContext("2d");
//create the box and append onto the canvas
canvas.fillStyle = "#FF0000";
canvas.fillRect(50,50,100,100);
//append the canvas onto the body
body.appendChild(canvas);
}
不太确定我在这里出了问题...
首先,下面一行有一个错误。(你没有任何元素id
作为body
,即使有一个元素id='body'
方法不是getElementsById
,它应该是getElementById
的。
var body = document.getElementsById("body")[0];
相反,它应该像下面一样使用getElementsByTagName
var body = document.getElementsByTagName("body")[0];
其次,fillStyle
和fillRect
应该在context
而不是canvas
。
context.fillStyle = "#FF0000";
context.fillRect(50,50,100,100);
第三,您必须return false;
以防止submit
按钮的默认操作,如下所示:
<input type="submit" value="Add Box" onclick="ShowBox();return false;"/>
小提琴
将表单按钮更改为普通按钮。否则在函数中添加返回 false。
<form>
<input type="button" value="Add Box" onclick="ShowBox()"/>
</form>
函数中还有更多错误,请检查下面的脚本。
例如:http://jsfiddle.net/3EwxB/
function ShowBox(){
var body = document.getElementsByTagName("body")[0];
//create the canvas tag
var canvas = document.createElement("canvas");
canvas.height = 200;
canvas.width = 200;
var context = canvas.getContext("2d");
//create the box and append onto the canvas
context.fillStyle = "#FF0000";
context.fillRect(50,50,100,100);
//append the canvas onto the body
body.appendChild(canvas);
}
相关文章:
- Facebook共享显示一个接一个的空白页面
- 当var==0时,我如何显示一个警报
- 如何在设定的时间间隔内一次只显示一个图像
- 当满足PHP条件时显示一个弹出窗口
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 如何在单击按钮时显示一个分区,同时隐藏另一个分区
- 一次显示一个隐藏指令-AngularJS
- 一次显示一个指令AngularJS
- 如何在谷歌地图中突出显示一个州点击一个国家的任何区域
- 在html页面的iframe中显示一个警告框
- Slding表单不会一次显示一个表单
- 在你离开之前,这个网站如何显示一个整洁的HTML框
- Onsen UI在点击时显示一个日期选择器
- 每行仅突出显示一个单元格
- 页面加载时显示一个随机图标
- 在html画布中显示一个图像,然后增大其大小
- 在谷歌地图上显示一个标记
- 只在表中突出显示一个单元格值
- 在谷歌可视化饼图中突出显示一个切片
- 如果所有单选框在jQuery中都有一个选择,则显示一个元素