0

選択したアイテムの種類に基づいて、さまざまなサイズのさまざまなTelerikRadWindowsをポップアップ表示します。アイテムの種類ごとに、クリックするとポップアップする独自の種類の編集フォームがあるため、Javascriptでウィンドウの高さと幅を変える必要があります。現在、ハードコーディングされた各タイプのディメンションを持つこの関数を使用しています。

 function GetEditWindowDimensions(type) {
        var dimensions = null;           
        switch (type) {
            case 'Type1':
                dimensions = { length: 330, width: 400 };
                break
            case 'Type2':     
                dimensions = { length: 550, width: 450 };
                break;
            case 'Type2':
                dimensions = { length: 260, width: 400 };
                break;    
            case 'Type3':    
                dimensions = { length: 260, width: 400 };
                break;
            case 'Type4':
                dimensions = { length: 260, width: 400 };
                break;
            case 'Type5':
                dimensions = { length: 330, width: 400 };
                break;
            default:
                dimensions = { length: 500, width: 500 };

        }
        return dimensions
    }

そして、これがRadWindowをロードする私の関数です:

   function OpenEditWindow(type) {

        var oDimensions = GetEditWindowDimensions(type)
        var oWindow = openWindow('myurl.aspx', oDimensions.length, oDimensions.width, true);

        oWindow.MoveTo(200, 25);
    }

これを行うには、より良い方法が必要です。これらのディメンションをJavascriptで構成可能な方法で保存/取得する方法について何かアイデアはありますか?タイプ自体は、プロジェクトの.vbファイルの列挙型によって定義されます。列挙値の名前をGetEditWindowDimensions()に渡します。

前もって感謝します!

4

3 に答える 3

2

次のようなオブジェクトに保存できます。

    var dimensions = {
        'Type1': { length: 330, width: 400 },
        'Type2': { length: 550, width: 450 },
        'Type3': { length: 260, width: 400 }
    }

次に、次のようにアクセスします

dimensions.type1.length; // <-- 330
dimensions.type1.width; // <-- 400
于 2012-08-29T17:51:15.177 に答える
2

ハッシュを作成してみませんか?

var dWindowDimensions = }
    Type1: { length: 330, width: 400 },
    Type2: { length: 550, width: 450 },
    ...
}

次に、値を読み取る必要がある場合:

var oDimensions = dWindowDimensions[type]
于 2012-08-29T17:51:48.070 に答える
1

次のように保存してください。

dimensions = {
    Type1: {
        length: 330,
        width: 400
    },
    ...
    ...
    Type5:  {
        length: 330,
        width: 400
    }
};

次に、実行するか、動的に検索している場合は、それらにアクセスできdimensions.Type1ますdimensions[type]。デフォルトの場合、アクセスしようとしているディメンションがであるかどうかを確認してくださいundefined。そうである場合は、デフォルトの長さと幅を使用します。例えば:

var dimension = dimensions[type];
if(typeof dimension === "undefined") {
    dimension = {
        length: 500,
        width: 500 
    };
}

以上簡潔:

var dimension = dimensions[type] || {length: 500, width: 500};

||最初の値が「真」でない場合、これは2番目の値(の次の値)を使用します。

于 2012-08-29T17:53:38.933 に答える