Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在jquery中组合两个变量_Javascript - Fatal编程技术网

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)") ;