Javascript 如何在jquery中组合两个变量
我有两个变量,比如:Javascript 如何在jquery中组合两个变量,javascript,Javascript,我有两个变量,比如: <script language="javascript" type="text/javascript"> var count = 1; calc_my_project_ + count = Math.round( count * 268 / 100); // It shoud be calc_my_project_1 and next time it shoud be calc_my_project_2 count += count
<script language="javascript" type="text/javascript">
var count = 1;
calc_my_project_ + count = Math.round( count * 268 / 100); // It shoud be calc_my_project_1 and next time it shoud be calc_my_project_2
count += count + 1;
</script>
var计数=1;
calc_my_project_+count=Math.round(count*268/100);//它应该是calc_my_project_1,下次应该是calc_my_project_2
计数+=计数+1;
现在的结果是计算我的项目计数。我该怎么做
编辑:这是我的主要代码:
<script language="javascript" type="text/javascript">
var count = 1;
var str = 'calc_my_project_';
var str2 = 'my_pro_';
var result = str + count;
result = Math.round( @Html.DisplayFor(x => item.ProgressPercent) * 268 / 100);
var secresult = str2 + count;
secresult = "-" + result + "px 0";
var jq3 = jQuery.noConflict();
jq3(document).ready(function () {
jq3("#bar-pro-@barcount1st").css({ "background-position": secresult });
if (@Html.DisplayFor(x => item.ProgressPercent) == 100) {
jq3("#bar-pro-@barcount1st").css({ "background-image": "none" });
jq3("#bar-pro-@barcount2st").css({ "background-image": "none" });
};
});
count++;
</script>
var计数=1;
var str=‘计算我的项目’;
var str2='my_pro_';
var结果=str+计数;
结果=Math.round(@Html.DisplayFor(x=>item.ProgressPercent)*268/100);
var secresult=str2+计数;
secresult=“-”+结果+“px 0”;
var jq3=jQuery.noConflict();
jq3(文档).ready(函数(){
jq3(“#bar pro-@barcount1st”).css({“背景位置”:secresult});
if(@Html.DisplayFor(x=>item.ProgressPercent)==100){
jq3(“#bar pro-@barcount1st”).css({“背景图像”:“无”);
jq3(“#bar pro-@barcount2st”).css({“背景图像”:“无”);
};
});
计数++;
result和secresult返回一个固定值,我不希望这样。您可以将您的calc_my_project_变量存储在一个数组中,并每次迭代一次
obj = new Array(calc_my_project_1, calc_my_project2, ...);
obj[0] = 1;
obj[1] = 2;
...
你可以这样做:
var myObj = {};
myObj['my_project_' + count] = 'some value';
count++;
试试这样的
<script language="javascript" type="text/javascript">
var count = 1;
var str = 'calc_my_project_';
var result = str + count = Math.round( count * 268 / 100);
count += count + 1;
</script>
var计数=1;
var str=‘计算我的项目’;
var result=str+count=Math.round(count*268/100);
计数+=计数+1;
使用一个
Fiddle:如果要设置“全局”变量,可以使用全局变量容器窗口:
window["calc_my_project_"+ count ] = Math.round( count * 268 / 100);
或者,您可以使用eval,但其中涉及的风险更大:
eval ("calc_my_project_"+ count +"= Math.round( count * 268 / 100)") ;
否则,如果您不需要全局变量,您可以使用Baszz提供的解决方案,count variable not show to me 1。它显示的是计数,而不是1。计数是动态的而不是静态的。在我看来,你一步做的太多了。在我意识到你在做什么之前,我必须先看一下,你不能动态命名变量。仅对象的属性。是,这不止一步@艾迪生我明白这不仅仅是一步。我建议你们再把它分开一点。我用过这个,但结果是一个静态变量。它返回给我一个静态值。那么如何使用这个变量呢@Baszz与您设置的相同,或作为实际对象,如myObj.my_project_1。非常感谢@Baszz。但有一个问题。在我的循环中,它只返回最后一个值。我认为这是另一个问题。实际上,您可能只返回最后一个值。我不知道你想要实现什么,所以我帮不了你。是的,我找到了。。我将数组置于循环之外,现在它可以正常工作了。
eval ("calc_my_project_"+ count +"= Math.round( count * 268 / 100)") ;