読み取り専用の jQuery Knob があります。数値表示に単位を追加することはできましたが ( How to display units with Jquery Knob に従って)、ページをリロードするとダイヤルの前景 (つまり、グラフィカルな値インジケーター) が表示されなくなりました。
ここに私のHTMLがあります:
<input class="knob" id="workload" data-angleoffset=-125 data-anglearc=250 value="{{ workload }}" >
({{ workload }}
は浮動小数点の Django テンプレート値です - 正しく置換されています )
jQuery 対応関数の内部には、次のものがあります。
if (jQuery().knob && ! App.isIE8()) {
// Workload Indicator
$(".knob").knob({
'dynamicDraw': true,
'min': 0, 'max':100,
'thickness': 0.2,
'tickColorizeValues': true,
'readOnly': true,
'skin': 'tron',
'fgColor': '#F00',
'inputColor':'#3D3D3D',
'bgColor': '#3D3D3D',
'width' : 150,
'draw' : function () {
$(this.i).val( parseInt(this.cv) + '%');
}
});
}
fgColor
はもともとテンプレート値から設定されていましたが、上記のコードをハードコーディングfgColor
しても同じ結果が得られます。
コールバックのコメント アウトはdraw
期待どおりに機能します。ノブは、中央に数値があり、外側の円弧に赤色のインジケータが表示された状態で完全に描画されます。コメントを外すとdraw
、数値の書式設定が修正されます (小数点なし + パーセント記号)。数値のフォーマットは、最初の表示と再読み込みで正しいままです。ただし、赤い弧は最初の表示にのみ表示されます。ページが再ロードされると消えます。
それで、何が起こっているのですか?draw
jquery-knob独自のキャンバス描画メソッドをオーバーライドしていますか? もしそうなら、どうすればグラフィカルな描画部分を呼び出すことができますか?