在html上调用了多个js,如何才能利用按钮,有选择性调用其中一个

就像用按钮切换css样式差不多... 就像用按钮切换css样式差不多 展开
 我来答
Andy_Sun321
推荐于2016-02-19 · TA获得超过1376个赞
知道小有建树答主
回答量:811
采纳率:89%
帮助的人:722万
展开全部

可以动态创建script元素,然后添加到head元素中,这样可以动态加载javascript文件。示例代码如下:

1) t.htm文件

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>测试页面</title>
<script type="text/javascript" id="lnkJs" src="a.js"></script>
<script type="text/javascript">
function LoadClk() {
    var head = document.getElementsByTagName("head")[0], js = document.createElement("script");
    
    js.type = "text/javascript";
    js.src = document.getElementById("jsFile1").checked ? "a.js" : "b.js";
    head.appendChild(js);
}
</script>
</head>
<body>
要载入的脚本文件:<input type="radio" name="jsFile" id="jsFile1" autocomplete="off" checked="true" /><label for="jsFile1">File A</label>
<input type="radio" name="jsFile" id="jsFile2" autocomplete="off" /><label for="jsFile2">File B</label>
<input type="button" value="载入脚本文件" onclick="LoadClk();" /><br />
<input type="button" onclick="SayHello();" value="测试调用" />
</body> 
</html>

2) a.js文件

window.SayHello = function() {
  window.alert("来自a.js的消息!");
}

3) b.js文件

window.SayHello = function() {
  window.alert("来自b.js的消息!");
}

将此3文件放同一目录下, 在浏览器中浏览t.htm(允许执行JavaScript, ActiveX). 页面如下:

按"载入脚本文件"就是载入所选的那个文件; 按测试调用按钮是验证是否载入正确的文件.

追问
这样写是能动态加载了,请问这样能不能加载多个呢?方便拓展有用
追答
当然可以加载多个, 就是多创建几个script元素, 然后要处理好函数之间的关系, 最好在载入的脚本文件中不要出现全局变量。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式