JavaScript 中的全局变量不起作用



我在 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.

现在您可以访问此全局变量。

相关内容

  • 没有找到相关文章

最新更新