| <html> | |
| <head> | |
| <meta content="text/html; charset=UTF-8" http-equiv="content-type"> | |
| <style type="text/css"> | |
| body { | |
| color: #222; | |
| font-size: 13px; | |
| } | |
| .time-slot { | |
| height: 47px; | |
| vertical-align: top; | |
| border-top: 1px solid #ddd; | |
| padding-right: 2px; | |
| z-index: 2; | |
| } | |
| #time-marker { | |
| border-top: 3px solid #4d90fe; | |
| height: 6px; | |
| position: absolute; | |
| width: 100%; | |
| z-index: 4; | |
| cursor: row-resize; | |
| } | |
| </style> | |
| </head> | |
| <body> | |
| <div style="position: absolute; overflow: hidden; width: 250px; height: 470px;"> | |
| <div style="position: relative;"> | |
| <div style="overflow: auto; position: relative; height: 85%; border: 1px solid #ebebeb"> | |
| <div id="time-marker" style="top: 432;"></div> | |
| <div class="time-slot">12am</div> | |
| <div class="time-slot">1am</div> | |
| <div class="time-slot">2am</div> | |
| <div class="time-slot">3am</div> | |
| <div class="time-slot">4am</div> | |
| <div class="time-slot">5am</div> | |
| <div class="time-slot">6am</div> | |
| <div class="time-slot">7am</div> | |
| <div class="time-slot">8am</div> | |
| <div class="time-slot">9am</div> | |
| <div class="time-slot">10am</div> | |
| <div id="11am" class="time-slot">11am</div> | |
| <div class="time-slot">12pm</div> | |
| <div class="time-slot">1pm</div> | |
| <div class="time-slot">2pm</div> | |
| <div class="time-slot">3pm</div> | |
| <div class="time-slot">4pm</div> | |
| <div class="time-slot">5pm</div> | |
| <div class="time-slot">6pm</div> | |
| <div class="time-slot">7pm</div> | |
| <div class="time-slot">8pm</div> | |
| <div class="time-slot">9pm</div> | |
| <div class="time-slot">10pm</div> | |
| <div class="time-slot">11pm</div> | |
| </div> | |
| </div> | |
| </div> | |
| <script type="text/javascript"> | |
| var startTime = document.getElementById('time-marker'); | |
| var ie = document.all; | |
| var nn6 = document.getElementById && !document.all; | |
| var isDrag = false; | |
| var x, y, tx, ty; | |
| var dragEl; | |
| function movemouse(e) { | |
| if (isDrag) { | |
| var dy = (nn6 ? e.clientY - y : event.clientY - y); | |
| if (dy % 12 == 0) { | |
| dragEl.style.top = ty + dy; | |
| } | |
| return false; | |
| } | |
| } | |
| function selectmouse(e) { | |
| var srcEl = nn6 ? e.target : event.srcElement; | |
| var topElement = nn6 ? "HTML" : "BODY"; | |
| while (srcEl.tagName != topElement && srcEl != startTime) { | |
| srcEl = nn6 ? srcEl.parentNode : srcEl.parentElement; | |
| } | |
| if (srcEl === startTime) { | |
| isDrag = true; | |
| dragEl = srcEl; | |
| tx = parseInt(dragEl.style.left + 0); | |
| ty = parseInt(dragEl.style.top + 0); | |
| x = nn6 ? e.clientX : event.clientX; | |
| y = nn6 ? e.clientY : event.clientY; | |
| document.onmousemove = movemouse; | |
| return false; | |
| } | |
| } | |
| document.onmousedown = selectmouse; | |
| document.onmouseup = function() { isDrag = false; }; | |
| </script> | |
| </body> | |
| </html> |