Я работаю над картой, которая позволит пользователю выбрать одно из двух выражений набора данных и переключаться между ними. Каждое выражение задается в своем собственном .js (main_heat.js для тепловой карты, main.js для пропорциональных символов).
Моя проблема заключается в настройке элементов управления в моем файле index.html, которые будут загружать выбранное выражение на основе щелчка мышью. Следующий код не выдает ошибок, но не дает ожидаемого результата (перезагрузки другого выражения):
index.html:
<div id ="expression">
<h4>Choose your expression</h4>
<a href="#" onclick="changeExpression('heat');">Heatmap</a> |
<a href="#" onclick="changeExpression('prop');">Proportional Symbols</a>
</div>
<!--EXTERNAL SCRIPT LINKS-->
<script type="text/javascript" src="js/main_heat.js"></script>
<script type="text/javascript" src="js/main.js"></script>
main.js:
function changeExpression(src){
var heat = document.createElement("script");
heat.src = "js/main_heat.js";
document.body.appendChild(heat);
var prop = document.createElement("script");
prop.src = "js/main.js";
document.body.appendChild(prop);
if (src === "heat"){
loadScript("main_heat.js")
} else if (src === "prop"){
loadScript("main.js");
}
};
function loadScript(src){
var el = document.createElement("script");
el.src = src;
document.body.appendChild(el);
}
Оба changeExpression
и loadScript
вызываются в начальной функции обратного вызова в main.js, и я пытаюсь понять, почему «onclick» в index.html не приводит к изменению. Кто-нибудь видит, где я иду не так, или понимаю, что может быть причиной этого?