剣道UIスケジューラコンポーネントを使用しており、現在の時間マーカーのようなカスタムタイムマーカーを表示する必要があります。剣道スケジューラカスタムタイムマーカー
これは可能なのですか、それを行う正しい方法は何でしょうか?
剣道UIスケジューラコンポーネントを使用しており、現在の時間マーカーのようなカスタムタイムマーカーを表示する必要があります。剣道スケジューラカスタムタイムマーカー
これは可能なのですか、それを行う正しい方法は何でしょうか?
私はこれを達成すると考えることができる唯一の方法は、jQueryのを使用してdiv.k-scheduler-times
にdiv
要素を挿入します
$("<div class='new-time-marker'></div>").prependTo("tr:nth-child(2) .k-scheduler-times");
あなたはそのスタイルは、通常のマーカーに似ているようにCSSで属性を設定することができます。位置はスケジューラのプロパティに基づいて計算され、次にdiv
に適用されます。
スケジューラがロードされた後にタイムマーカーを追加できます。たとえば、ドキュメントに表示されるメソッド($("#scheduler").kendoScheduler({...});
)を使用する場合、そのブロックの直後に時間マーカーを追加できます。
は、タイムマーカーのトップ値を設定するには、あなたが計算できる割合使用することができます。
$(".new-time-marker").css("top", ((9*60+22)*100/(24*60)) + "%");
をこの例では、マーカーは、9:22に表示されます。もちろん、このようにそれを行うこともできます。
$(".new-time-marker").css("top", ((9+22/60)*100/24) + "%");
は、この1のようなスタイルを追加します。
.new-time-marker {
width: 0px;
height: 0px;
border: 6px solid transparent;
border-left-color: blue;
position: absolute;
transform: translateY(-6px);
}
あなたがそれを指摘どこマーカの中心が右であることを確認します変換します。
Hey Shai、それは素晴らしいです!それはうまくいきますが、ソリューション全体を鍛えるいくつかの側面があります:1)いつタイムマーカーを追加するべきですか? 2)その "トップ"値を計算する方法? –
私はすべての詳細を実装するAngularJS指令を実装しました。希望すると助かります - https://gist.github.com/nedyalkov/15ca8b3d8431464cc843b4e9ff57271d –
これは素晴らしい解決策です!私は道場での例をここに実装しました:http://dojo.telerik.com/oWeSi/13 これは、dataBoundイベントにマーカを付加するので、常に必要になる場合があります。スケジューラテーブルスロットを使用してそのオフセット位置を決定する。 9時22分ではなく9時40分に計算をしていたので、答えの計算で道場に問題がありました。 –