通过函数将一个变量(id)从HTML传递到外部js文件
passing a variable (id) from html to external js file with functions
我是新颖的javascript,我试图开发一个网页与动态图形使用的画布,html 5和javascript。我不想把html"代码"和javascript代码混在一起,所以我决定把它们分开,从html中调用javascript函数。事实是,当我试图通过我的画布Id javascript函数我犯了一个错误,我不知道如何修复它。这是我的html代码:
<html>
<head>
<title></title>
<script type="text/javascript" language="javascript" src="Funciones.js">
window.onload = drawRectangulo('myCanvas');
</script>
</head>
<body>
<h1>Canvas Example:</h1>
<canvas id="myCanvas" width="200" height="100"></canvas>
</body>
</html>
我的JavaScript文件是这样的
function drawRectangulo(idCanvas)
{
var Canvas = document.getElementById('idCanvas');
var context = Canvas.getContext('2d');
context.fillRect(50,0,10,150);
}
我不知道如果调用drawRectangulo函数在javascript文件是正确的,如果我传递画布的id正确:窗口。onload = drawRectangulo('myCanvas');¿我该如何将Id从html文件传递到js函数?我应该使用:(",",")还是应该创建一个新变量,用画布的id初始化它并将其传递给函数?JavaScript函数中的变量id处理得好吗?
您需要这样做:
window.onload = function () {
drawRectangulo('myCanvas');
}
你的代码是调用 drawRectangulo一旦运行,并分配调用的结果(这是undefined
)到window.onload
。
根据Dan的评论编辑:你还需要修改这个:
document.getElementById('idCanvas');
:
document.getElementById(idCanvas);
编辑2:您还需要将导入的脚本与内联脚本分开,如下所示:
<script type="text/javascript" language="javascript" src="Funciones.js"></script>
<script type="text/javascript">
window.onload = drawRectangulo('myCanvas');
</script>
单个<script>
元素可以从另一个文件导入脚本,或者定义内联脚本,或者两者兼而有之。(这就解释了为什么将内联脚本移到HTML的其他地方可以使它工作。)
我认为这
var Canvas = document.getElementById('idCanvas');
应该var Canvas = document.getElementById(idCanvas);
我想我知道为什么它不起作用了。我已经在html上做了这个改变,现在可以正常工作了:
<html>
<head>
<title></title>
<script type="text/javascript" language="javascript" src="Funciones.js"></script>
</head>
<body>
<script type="text/javascript" language="javascript">
window.onload = function (){
drawRectangulo('myCanvas');
}
</script>
<h1>Canvas Example:</h1>
<canvas id="myCanvas" width="200" height="100"></canvas>
</body>
</html>
我拿出窗口。onload从header到body,它工作了。谢谢你的帮助。
相关文章:
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 将HTML表格导出到excel时,无法将数据加载到excel文件中
- 导入jQuery脚本获胜'我不处理html文件
- 生成pdf或其他非html文件时的错误处理
- 从HTML调用typescript文件中的函数
- 使用metro-uiJS对话框调用其他文件html
- 使用选项卡导航到不同的html文件(html、JavaScript)
- 使用 socket.io 时如何发送文件(html,js,css和资源)
- 采购<p>从.txt文件.HTML
- 包含的html中的类无法访问父文件html中的函数
- 重新加载链接文件 HTML
- 如何使用 JavaScript 或 JQuery 从输入类型=文件 html 元素获取文件名
- Angularjs + 指令文件 html 内容点击事件在 js 文件中不起作用
- 如何直接从网页读取/写入本地文件 (html)
- jQuery加载txt文件.html()
- 指定简单配置文件HTML或javascript的最佳方式是什么
- Angular将所有头文件html提取到一个文件中
- 想要部分上传大文件.HTML/PHP
- AJAX -上传文件(HTML 5) &PHP