2013-05-03 3 views
31

私はブラウザの中央に剣道UIモーダルウィンドウを表示しようとしていますが、ページの下部に表示され続けます。これは、ウィンドウの唯一の目に見える部分がトップバー、残りあなたがあなたの周りにそれをドラッグするときにのみ、あなたはそれを正しく見ることができます。私はウィンドウに使用されているdivにスタイルを適用していないので、なぜそれがそのように表示されているのか混乱しています。Kendo UIモーダルウィンドウをページの中央に配置する方法を教えてください。すべてのアクションを無効にする方法は?

また、ウィンドウの上部バーのすべてのアクションボタンを無効にし、空のアクション配列を設定しようとしましたが、閉じるボタンがデフォルトとして表示されています。トップバーの窓?ボタンをクリックするとウィンドウが消えてしまいます。

これは私が窓を作成しています方法です:

var accessWindow = $("#accessDiv").kendoWindow({ 
    actions: [], 
    draggable: true, 
    height: "300px", 
    modal: true, 
    resizable: false, 
    title: "Access", 
    width: "500px" 
}); 

accessWindow.center(); 
accessWindow.open(); 

これはラベルのみ、入力ボタンと私のdiv要素である、何のCSSは、現時点ではそれに適用されていない:

<div id="accessDiv" style=" width: 100%; height: 100%; background-color: #fff;"> 
    <label>Enter access key</label> 
    <input type="text" /> 
    <input type="button" title="Enter" value="Enter" /> 
</div> 

答えて

60

あなたがそれを中心と開口部、それを隠してみましたか?

var accessWindow = $("#accessDiv").kendoWindow({ 
actions: {}, /*from Vlad's answer*/ 
draggable: true, 
height: "300px", 
modal: true, 
resizable: false, 
title: "Access", 
width: "500px", 
visible: false /*don't show it yet*/ 
}).data("kendoWindow").center().open(); 

から:http://www.kendoui.com/forums/ui/window/kendowindow-center-doesn-t-work-when-inside-an-iframe.aspx

+2

あなたは.data( 'kendoWindow')を意味しないのですか?center()。open()?しかし、ええ、これは問題を解決しました。もし私が少しポジションを変えたいのであれば、どうしたらいいですか? –

+2

XY位置を知っている場合は、 'accessWindow.wrapper.css({top:" 100px "、left:" 50px "})'を使用します。あなたは 'accessWindow.wrapper.position()'を実行することによってその位置を得ることができることを忘れないでください。例[here](http://jsfiddle.net/OnaBai/ueYs4/) – OnaBai

+0

私はそれを閉じてもう一度開くと、それは時々奇妙なことがあります。 –

6

1.最後の2行のコードを交換する必要があります。まずウィンドウを開く必要がありますし、次にウィンドウを中央に置くことができます。あなたは空のオブジェクトを渡す必要がある任意のアクションなし

2.Toのショーウィンドウ:

actions: {} 
+0

空のオブジェクトは動作しないように表示されていましたが、ウィンドウが下に表示され続けています。この部分でさらに指定する必要があると思います。下を言うときは、ウィンドウがブラウザーに表示されておらず、ドラッグするまで表示されません。 –

+0

ウィンドウを開き、 '.center()'を実行してくれました。この情報の多くの感謝。 +1 – vapcguy

+1

@VladOmelyanchuuk、私がopen()。center()を開くと、画面全体に対話スライドが中央に表示されます。どうすればこれを防ぐことができますか? –

7

最後の2行は次のようになります。

accessWindow.data("kendoWindow").center(); 
accessWindow.data("kendoWindow").open(); 
+4

またはaccessWindow.data( "kendoWindow")。center()。open(); –

+0

私のためにこの順序で動作しませんでした。上記のVladの答えは、窓を開けると言ったところで、センターは私の窓を中央に置いた。 – vapcguy

+0

@vapcguy、どうやってウィンドウが最初に開いてセンターを横切ってスライドするのを防ぐのですか? –

-1

は、あなたのウィンドウを配置するための次のコードを参照することができます。

、あなたは関係なく、画面サイズの 固定位置をしたい場合は
var accessWindow = $("#accessDiv").kendoWindow({ 
        elem: 
        draggable: true, 
        modal: true, 
        title: "Title", 
        width:500, 
        visible: false, 
        position:{ 
         top:"15%", 
         left:"35%" 
        }, 
     }).data("kendoWindow").open(); 

、あなたの窓の位置を調整したい場合は、比較的

position:{ 
    top:"20px", 
    left:"100px" 
} 

しかしを使用し、トップと「%」に残さあなたのために働くでしょう。

0

私のために以下のものが動作します。モーダルとして気に入らない場合は、それをfalseに設定するか、削除してください。

関連する問題