-1

私は次のような2つの変数を持っています:

<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

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 に答える
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

「グローバル」変数を設定する場合は、グローバル変数コンテナウィンドウを使用できます。

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 に答える