【发布时间】:2013-01-09 04:04:31
【问题描述】:
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(每分钟 1px)和相对位置 然后我根据其最小值定位子 div 绝对值(例如:演示患者是 10:00 所以顶部:00px,傻瓜患者是 10:40 所以它的顶部:40px)。 这工作正常,除非有重叠时间.. 例如,如果我有 2 个条目 在同一时间,那么两者将被放置在彼此之上。
问题如何避免这种情况?像谷歌日历一样,如果存在 2 个预订,它们会并排移动,而不是彼此重叠。
谢谢
问题已解决:
使用This plugin 和以下代码
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;
});
现在它可以像谷歌日历一样完美运行:D.. 谢谢大家
【问题讨论】:
-
你没有发言权?我想我出于这个原因将它标记为 jquery,我感兴趣的是技术诀窍
-
你有试过的代码吗?或者尝试过?
-
我不知道如何检测 div 是否与其他 div 重叠,所以 nop
-
一个jsfiddle不会太多
标签: php jquery css css-position