我在 JavaScript 中有两个函数。一个是change_BASE_ID()
,另一个是Display_img(a,b)
.
change_BASE_ID()
在鼠标单击时调用,并在内部调用Display_img()
。鼠标悬停时,调用Display_img()
。
因此Display_img()
有两种使用方式。change_BASE_ID()
中有一个base_id_mitali
变量,我想它是全局的。因此,即使在鼠标悬停时,当独立调用 Display_img()
函数时,它也应该使用该变量的值。
如果从未单击过onclick函数,则应01
base_id_mitali
中的值,否则如果单击了该函数,则应为先前设置的值。
var base_id_mitali = "";
function change_BASE_ID(base_ID, cursor_ID) { // THIS IS WHEN MOUSE IS CLICKED
//var curr_base_id = 'ch01ch01.png';
var start_name = "ch";
base_id_mitali = "01";
var bsid = document.getElementById('image').src;
//var bsidlen=bsid.charAt(bsid.length-6);
var bid1 = bsid.charAt(bsid.length - 6);
var bid2 = bsid.charAt(bsid.length - 5);
document.getElementById("mitali").innerHTML = "trying to get base id ".concat(bid1).concat(bid2);
base_id_mitali = concat(bid1).concat(bid2);
var a = base_ID;
var b = cursor_ID;
var temp_res1 = start_name.concat(base_id_mitali);
var temp_res2 = temp_res1.concat("ch");
var temp_res3 = temp_res2.concat(b);
var final = temp_res3.concat(".png");
curr_base_id = final;
document.getElementById('image').src = final;
Display_img(base_ID, cursor_ID);
document.getElementById("demo").innerHTML = "clicked on ".concat(final);
//setbaseid(base_id_mitali);
}
function Display_img(a, b) {
var start_name = "ch";
//document.getElementById("globalvar").innerHTML = "trying see global variable value ".concat(base_id_mitali);
var temp_res1 = start_name.concat(a); //want to use the global variable instead of a
var temp_res2 = temp_res1.concat("ch");
var temp_res3 = temp_res2.concat(b);
var final = temp_res3.concat(".png");
document.getElementById("demo").innerHTML = final;
document.getElementById('image').src = final;
}
我在代码中看不到变量base_id_mitali的任何初始化。在 html 代码之外,使用以下代码在加载时初始化变量:
<script>
var base_id_mitali= "";
</script.
现在您可以访问此全局变量。