进出口在JavaScript的相当新的,所以不要指望我知道很多别人比什么书面:)如何生成的JavaScript的JavaScript代码,如果更多钞票
所以我有很多的javascript代码,几乎看起来javascript文件除了一个数字与每个元素都在变化之外。
我的大部分代码都在函数内部,因为它是剪切掉的,所以没有写入。
我的代码的相关部分看起来像:
//Upgrade 1
if (CREDITS >= UpgradePrice1 && Upgrade1 === 0){
document.getElementById("Upgrade1").style.display = "block";}
else{document.getElementById("Upgrade1").style.display = "none";}
//Upgrade 2
if (CREDITS >= UpgradePrice2 && Upgrade2 === 0){
document.getElementById("Upgrade2").style.display = "block";}
else{document.getElementById("Upgrade2").style.display = "none";}
//Upgrade 3
if (CREDITS >= UpgradePrice3 && Upgrade3 === 0){
document.getElementById("Upgrade3").style.display = "block";}
else{document.getElementById("Upgrade3").style.display = "none";
And so on...
的值赋值在StandardValues.js文件名为:
var UpgradeName1 = "Craftmanship Lvl 1";
var UpgradePrice1 = 100;
var UpgradeContent1 = "+100% Gods Hands! <br> +20% Blessed Farmer!";
var Upgrade1 = 0;
var UpgradeName2 = "Craftmanship Lvl 2";
var UpgradePrice2 = 200;
var UpgradeContent2 = "+100% Gods Hands! <br> +20% Blessed Farmer!";
var Upgrade2 = 0;
And so on...
如果它是一个HTML代码,我尝试生成我会使用一个PHP函数,并使其回声相同的代码与更改的数字specefic的时间量。 但因为这是一个JavaScript文件,我真的不认为这是一个选项?
以前的JavaScript代码位于.js文件中。
我认为一个可能的解决方法可能是:
Inside a .php file:
<?php
$Upgrades = 10;
$CurrentUpgrade = 1;
while ($Upgrades >= $CurrentUpgrade){
echo "
<script>
function Upgrade1(){
//Upgrade ".$CurrentUpgrade."
if (CREDITS >= UpgradePrice".$CurrentUpgrade." && Upgrade".$CurrentUpgrade." === 0){
document.getElementById('Upgrade".$CurrentUpgrade."').style.display = 'block';}
else{document.getElementById('Upgrade".$CurrentUpgrade."').style.display = 'none';}
}
</script>
";
$CurrentUpgrade ++;
}
?>
* Sry基因在这部分的任何错字,使得它相当快。
但我很想将JavaScript代码保存在我的.js文件中,而不是在我的.php文件中。
所以总结起来我想(如果可能):
- 保持所有的代码里面的js文件
- 生成与JavaScript代码
- 重复相同的JavaScript的JavaScript代码元素只有一个数字随每个元素而变化
- 尝试通过这样做来缩短代码量。
- 仍然可以在购买功能中单独使用任何分配的变量。
我希望我给了所有相关信息:)
在此先感谢。
使用Javascript数组和循环。也就是说,没有单独的变量UpgradePrice1,UpgradePrice2等,有一个名为UpgradePrice的数组。 – nnnnnn
会更好地学习如何编写循环和函数,所以你不必一遍又一遍地重复你的代码。 – charlietfl
为什么不创建一个带有两个参数的函数?这看起来是每个检查之间唯一改变的。 – httpNick