2
剣道がうまくいかない理由がわかりません。ウィンドウを75%に拡大して34%に戻すために、剣道ウィンドウにカスタムボタンを作成しようとしています。アイコンを変更してキノUIウィンドウにすばやく展開する方法
VIEW
@(Html.Kendo().Window()
.Name("stockLineWindow").HtmlAttributes(new { @class = "windows" })
.Title("Stock")
.Draggable()
.Resizable(resizable => resizable.Enabled(true))
.Visible(false)
.Scrollable(false)
.Actions(actions => actions.Minimize().Maximize().Custom("arrow-chevron-right"))
)
JAVASCRIPT
var stkWrapper = $("#stockLineWindow").data("kendoWindow");
var expand = stkWrapper.wrapper.find(".k-i-arrow-chevron-right");
expand.click(function (e) {
stkWrapper.setOptions({
width: "75%"
});
$(this).removeClass("k-i-arrow-chevron-right");
$(this).addClass("k-i-arrow-chevron-left");
e.preventDefault();
});
var contract = stkWrapper.wrapper.find(".k-i-arrow-chevron-left");
expand.click(function (e) {
stkWrapper.setOptions({
width: "34%"
});
$(this).removeClass("k-i-arrow-chevron-left");
$(this).addClass("k-i-arrow-chevron-right");
e.preventDefault();
});
二つのものがここに起こっている:
- を窓iが拡張を実行することができるよ開いたとき。しかし、DOMはsetOptionの後にリセットされ、クラスを変更する代わりに '>'を表示し続けます。
それは私がこのためにJavaScriptを変更しても後退したことがない展開した後:
var stkWrapper = $("#stockLineWindow").data("kendoWindow"); var expand = stkWrapper.wrapper.find(".k-i-arrow-chevron-right"); expand.click(function (e) { if (stkWrapper.options.width <= "75%") { stkWrapper.setOptions({ width: "75%" }); e.preventDefault(); } else { stkWrapper.setOptions({ width: "34%" }); } e.preventDefault(); });
それが再び起こる一度、決して起こります。私が窓をリロードしない限り。私がしたいのは、剣道のウィンドウ上の簡単な展開と縮小のボタンだけです。私はこれがどのように行われているのか分かりません。
あなたは素晴らしいです!今私は、ユーザーが手動でサイズを変更するときにそのボタンの変更アイコンを持ってしようとしています。メディアクエリかもしれません。 – NeoSketo
@ウィジェットウィンドウウィジェットは['resize'](http://docs.telerik.com/kendo-ui/api/javascript/ui/window#events-resize)イベントを持っていることを覚えておいてください。おそらくあなたはそこでそれをすることができます。 – DontVoteMeDown
はい、うまくいった!ありがとう、友よ! – NeoSketo