JQuery-UIのResizableとDraggableを利用してスケジュール表を作る その2(表形式にしてみる)
おはようございます。
前回に引き続き、
Resizable.js を使ってスケジュール表を作ってみています。
今回は、とりあえず表形式にして予定の線を引けるようにしてみました。
まだまだ実用できる段階ではないですが、とりあえず晒します。
DraggableやResizable.js については前回の記事を参考にしていただければ。(大したこと書いてないけど)
スポンサーリンク
プログラム
style.css
/* DivTable.com */ .divTable{ display: table; } .divTableRow { display: table-row; } .divTableHeading { background-color: #EEE; display: table-header-group; } .divTableCell, .divTableHead { border: 1px solid #999999; display: table-cell; height: 50px; width: 25px; } .divTableHead { text-align: center; vertical-align: middle; } .divTableFoot { background-color: #EEE; display: table-footer-group; font-weight: bold; } .divTableBody { display: table-row-group; } span { } .panel { margin-top: 10px; min-width: 22px; min-height: 25px; margin: 2px; left: 131px; border-top-left-radius: 5px; /* 左上 */ border-top-right-radius: 5px; /* 右上 */ border-bottom-right-radius: 5px; /* 右下 */ border-bottom-left-radius: 5px; /* 左下 */ position:absolute; } .panel1 { background-color:#99cfe5; } .panel2 { background-color:#95dfd6; }
sample.html
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>要素のドラッグとリサイズのサンプル</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.0/themes/base/jquery-ui.css" /> <link rel="stylesheet" href="./css/style.css" /> </head> <body> <span>◆2018年8月のスケジュール</span> <div class="divTable" style="border: 1px solid #000;" > <div class="divTableHeading"> <div id="head1" class="divTableRow"> <div class="divTableHead">氏名</div> <div class="divTableHead">01</div> <div class="divTableHead">02</div> <div class="divTableHead">03</div> <div class="divTableHead">04</div> <div class="divTableHead">05</div> <div class="divTableHead">06</div> <div class="divTableHead">07</div> <div class="divTableHead">08</div> <div class="divTableHead">09</div> <div class="divTableHead">10</div> <div class="divTableHead">11</div> <div class="divTableHead">12</div> <div class="divTableHead">13</div> <div class="divTableHead">14</div> <div class="divTableHead">15</div> <div class="divTableHead">16</div> <div class="divTableHead">17</div> <div class="divTableHead">18</div> <div class="divTableHead">19</div> <div class="divTableHead">20</div> <div class="divTableHead">21</div> <div class="divTableHead">22</div> <div class="divTableHead">23</div> <div class="divTableHead">24</div> <div class="divTableHead">25</div> <div class="divTableHead">26</div> <div class="divTableHead">27</div> <div class="divTableHead">28</div> <div class="divTableHead">29</div> <div class="divTableHead">30</div> <div class="divTableHead">31</div> </div> </div> <div class="divTableBody"> <div id="panel1" class="panel panel1"><span class="label"> </span></div> <div id="row1" class="divTableRow"> <div class="divTableCell" style="width: 120px;">テスト太郎</div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> </div> </div> <div class="divTableBody"> <div id="panel2" class="panel panel2"><span class="label"> </span></div> <div id="row2" class="divTableRow"> <div class="divTableCell" style="width: 120px;">テスト花子</div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> <div class="divTableCell"> </div> </div> </div> </div> <!-- DivTable.com --> </body> <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script src="http://code.jquery.com/jquery-1.8.3.js"></script> <script src="http://code.jquery.com/ui/1.10.0/jquery-ui.js"></script> <script> $(document).ready( function () { $('#panel1').resizable({ containment: "#row1" , handles: "e" , minWidth: 20 , maxHeight: 50 , grid: [27, 25] }); $('#panel2').resizable({ containment: "#row2" , handles: "e" , minWidth: 20 , maxHeight: 50 , grid: [27, 25] }); } ); </script> </html>
触ってみる
まとめ
ひとまずここまで。
今回は Resizable.js のみの対応となったので
次回はこれに Draggable.js も加えたものを試してみたいと思います。
あとは Javascript で処理なんかを書いていきたいですね。
ではでは。
ディスカッション
コメント一覧
まだ、コメントがありません