php日程控件
程序员文章站
2022-05-11 18:44:29
...
日历控件,可以在此基础上做更多的扩展,如实现行程安排等
<html> <head> <title>日历控件</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="apple-mobile-web-app-status-bar-style" content="black"/> <style type="text/css"> .rili { margin: 30px 0px; overflow: hidden; text-align: center; color: #666 } .low_calendar { overflow: hidden; border: 1px solid #c8d2dc; } .low_calendar h1 { width: 100%; background: #ff6f7e; font-size: 14px; height: 30px; line-height: 30px; text-align: center; color: #fff; font-weight: 100; box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); -webkit-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); -moz-box-shadow: 1px 1px 1px rgba(0, 0, 0, 0.1); position: relative } .calGrid table { width: 100%; border-collapse: collapse; margin: 0; padding: 0; } .calGrid table th { background-color: #fff; border-left: 1px solid #whiteSmoke; font-size: 12px; height: 30px; line-height: 30px; text-align: center; vertical-align: middle; color: #999; color: #505050; border-bottom: 1px solid #C8C8C8; } .calGrid table td { width: 12%; height: 40px; line-height: 40px; font-size: 16px; font-weight: 700 text-align : center; color: #4A5056; border-bottom: 1px solid #C8C8C8; border-left: 1px solid #ccc; position: relative; overflow: hidden; cursor: pointer; text-align: center; } .calGrid table td img { position: absolute; left: 0; top: 0; display: none } .calGrid table td.curr img { display: block } .calGrid table td.disable { color: #ED5565; } .calGrid table td:first-child { border-left: none; } .calGrid table tr:last-child td { border-bottom: none; } .calGrid table td.holiday { font-size: 12px; } .calGrid table th.week_day, .calGrid table td.week_day { color: #ED5565 } .calGrid table td.curr { line-height: 25px; font-size: 13px; color: #fff; background: #ff6f7e; -moz-box-shadow: 2px #7d92a7 inset; -webkit-box-shadow: 2px #7d92a7 inset; box-shadow: 2px #7d92a7 dcdeeb; } .calGrid table td.curr span { display: block; font-size: 12px; line-height: 10px; } .low_calendar h1 .ldate { width: 25px; height: 25px; background: url(images/ldate.png) no-repeat; float: left; position: absolute; top: 2px; left: 10px; overflow: hidden; text-indent: -99999px } .low_calendar h1 .rdate { width: 25px; height: 25px; background: url(images/rdate.png) no-repeat; float: right; position: absolute; top: 2px; right: 10px; overflow: hidden; text-indent: -99999px } </style> <script type="text/javascript" src="js/jquery.js"></script> </head> <body> <?php /** * User: yuluo * Date: 2015-05-08 * Time: 下午3:08 * Desc:实现生成指定月份的日历信息 在此基础上可以无限遐想和扩展... */ date_default_timezone_set("Asia/Shanghai"); $time_now = time(); //strtotime("2015-02-04"); if($_REQUEST["date"]){ $time_now = strtotime($_REQUEST["date"]); } function getCurMonthFirstDay($date) { return date('Y-m-01', strtotime($date)); } function getCurMonthLastDay($date) { return date('Y-m-d', strtotime(date('Y-m-01', strtotime($date)) . ' +1 month -1 day')); } $current_y = date("Y", $time_now); $current_m = date("m", $time_now); $next_m = date('Ymd', strtotime(date('Y-m-01', $time_now) . ' +1 month')); $pre_m = date('Ymd', strtotime(date('Y-m-01', $time_now) . ' -1 month')); ?> <p class="rili"> <p class="chosedate"> <p class="low_calendar"> <h1><a class="ldate" href="date_ctrl.php?date=<?php echo($pre_m); ?>">上一月</a><span><?php echo($current_y); ?>年<?php echo($current_m); ?>月</span><a class="rdate" href="date_ctrl.php?date=<?php echo($next_m); ?>">下一月</a></h1> <p class="calGrid"> <table cellspacing="1" cellpadding="1"> <tbody> <tr> <th class="week_day">周日</th> <th>周一</th> <th>周二</th> <th>周三</th> <th>周四</th> <th>周五</th> <th class="week_day">周六</th> </tr> <?php //$time_now = strtotime("2015-05-11"); $str_time_now = date("Y-m-d", $time_now); ////////字符串格式的当前时间 $current_month_first_day = getCurMonthFirstDay($str_time_now); /////////当前月的第一天 $current_month_first_w_val = intval(date("w", strtotime($current_month_first_day))); //////当前月第一天是一周的第几天 周日(0)是第一天 $current_month_last_day = getCurMonthLastDay($str_time_now); ////////当前月的最后一天 $current_week_val = date("w", $time_now); $current_day_val = date("j", $time_now); $last_day_val = date("j", strtotime($current_month_last_day)); ////////当前月最后一天的天索引 $strart_time = false; $int_day_val = 1; $ctrl_step = $last_day_val + $current_month_first_w_val; ////////控件结束的位置索引 for ($i = 0; $i < 42; $i++) { if($i == 0){ ?> <tr> <?php } if ($i == $current_month_first_w_val) { $strart_time = true; } if ($i >= $ctrl_step) { $strart_time = false; } if ($strart_time) { $tem_current_date = date("Y-m-d",strtotime(date("Y-m", $time_now).("-").strval($int_day_val))); $str_td_class = ""; if (($i%7)==0 || (($i + 1) % 7) == 0){ $str_td_class = "week_day"; } ?> <td date="<?php echo($tem_current_date); ?>" class="<?php echo($str_td_class); ?>"><?php echo($int_day_val); ?></td> <?php $int_day_val++; } else { ?> <td class="null"> </td> <?php } if ((($i + 1) % 7) == 0) { ?> </tr> <?php } } ?> </tbody> </table> </p> </p> </p> </p> <script type="text/javascript"> $(function(){ console.log($("td [date='2015-05-12']")); }); </script> </body> </html>
上一篇: 详解jQuery 事件的命名空间
下一篇: Lighttpd与PHP