HTML
<td title='10:00 AM-wed 09-01-2013'><div style="position:relative;height:60px">
<div style="position:absolute;top:00px;" class='entry'>Demo patient</div>
<div style="position:absolute;top:20px;" class='entry'>New patient</div>
<div style="position:absolute;top:40px;" class='entry'>fool patient</div>
</div></td>
写真
エントリの生成に使用される PHP
echo"<div style='position:absolute;top:".date("i", strtotime($data['time_booked']))."px;'>{$data['name']}</div>";
上記のように、単純なjquery/phpデイスケジューラ(カレンダー)を作成しました。
ご覧のとおり、親divの高さ:60px(1分ごとに1px)と相対位置があり、子divをその分に応じて絶対に配置します(例:デモ患者は10:00なのでtop:00px、ばか患者は10:40なのでその上:40px)。これは、時間が重複している場合を除いて正常に機能しています。たとえば、同じ時間に2つのエントリがある場合、両方が互いの上に配置されます。
質問どうすればこれを回避できますか? 2 つの予約が存在する場合、Google カレンダーのように、互いの上ではなく横に移動します。
ありがとう
問題が解決しました:
このプラグインと次のコードを使用して
var n=$('div.entry').overlaps().length;var vol=(100/n);var round=0;
$('div.entry').overlaps().each(function(){
$(this).css('left',((vol-1)*round)+'%');
$(this).css('width',(vol-n)+'%')
round=round+1;
});
今ではGoogleカレンダーとして完全に機能します:D..ありがとう