-1

我有两个变量,例如:

<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>

现在结果是 calc_my_project_ + count 。我怎样才能做到这一点 ?

编辑:这是我的主要代码:

<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>

result 和 secresult 返回一个固定值,我不想这样。

4

5 回答 5

1

你可以这样做:

var myObj = {};
myObj['my_project_' + count] = 'some value';

count++;
于 2012-07-06T13:47:03.613 回答
1

尝试这样的事情

<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>
于 2012-07-06T13:50:21.563 回答
0

如果要设置“全局”变量,可以使用全局变量容器窗口:

window["calc_my_project_"+ count ] = Math.round( count * 268 / 100);

或者,您可以使用 eval 但涉及更多风险:

eval ("calc_my_project_"+ count +"= Math.round( count * 268 / 100)") ;

否则,如果你不需要,全局变量,你可以使用baszz提供的解决方案

于 2012-07-06T14:01:15.000 回答
0

使用数组

var myCount = new Array();
var count = 0;
$("#click").click(function() {
   myCount[count] = Math.round( count * 268 / 100);
    console.log(count + ' - ' + myCount[count]);
    count++;
});​

小提琴:http: //jsfiddle.net/johnkoer/yyakv/1/

于 2012-07-06T13:52:56.190 回答
0

你可以将你的 calc_my_project_ 变量存储在一个数组中,每次都遍历它

obj = new Array(calc_my_project_1, calc_my_project2, ...);
obj[0] = 1;
obj[1] = 2;
...
于 2012-07-06T13:45:49.370 回答