我在JavaScript中有两个函数。一个是change_BASE_ID()
,另一个是Display_img(a,b)
。
change_BASE_ID()
并在内部调用Display_img()
。在鼠标悬停时,调用Display_img()
。
所以Display_img()
以两种方式使用。 base_id_mitali
中有一个change_BASE_ID()
变量,我希望它是全局变量。因此,即使在鼠标悬停时独立调用Display_img()
函数,它也应该使用该变量的值。
如果从未点击onclick函数,则base_id_mitali
中的值应为01
,否则如果单击它,则应为先前设置的值。
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;
}

答案 0 :(得分:0)
我在代码中看不到变量base_id_mitali的任何初始化。在您的html代码之外,使用以下代码初始化加载变量:
<script>
var base_id_mitali= "";
</script.
现在您可以访问此全局变量。