漫畫原創Jquery時間插件

dengjianbin 12年前發布 | 35K 次閱讀 jQuery日期插件 jQuery插件
漫畫原創Jquery時間插件
1、可以靈活設計響應事件(Event)
2、層顯示的位置(Left,Top)
3、年月日之的連接符號
4、自由控制是否顯示時間(isTime)
5、年份下列列表的開始值與結束值
Jquery插件,Jquery資源,Jquery特效,div+css

插件源代碼如下
$(函數(){
    美元。fn.m??anhuaDate =功能(選項){
        VAR默認= {
            事件:“點擊”
            左:0
            頂:22
            特服號:“ - ”,
            isTime:假的,
            beginY:1949
            恩迪:2049
        };
        VAR選項= $擴展(默認選項);
        $(“身體”)。前置(“<div class='zhezhao'> </ DIV> <div class='calender'> <div class='calenderContent'> <div class='calenderTable'> <格類= 'getYear的'ID ='GETDATE'> <a class='preMonth' id='preMonth'>上一月</ A> <select id='year'> </ SELECT> <select id='month'> < /選擇> <a class='nextMonth' id='nextMonth'>下一月</ A> </ DIV> <div class='tablebg'> <表id =“日歷”篇文章中= '0'CELLSPACING =' 1“> <tr bgcolor='#D6D6D6'> <th class='weekend'>日</ TH> <TH>一</ TH> <TH>二</ TH> <TH>三</ TH> < TH>四</ TH> <TH>五</ TH> <th class='weekend noborder'>六</ TH> </ TR> <TR> <TD class='weekend2'> </ TD> <TD > </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <td class='weekend2 noborder'> </ TD> </ TR> <TR> <td class='weekend2'> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <td class='weekend2 noborder'> </ TD> </ TR> <TR> <TD class='weekend2'> </ TD> <TD> </ TD> <TD> </ TD> <TD> < / TD> <TD> </ TD> <TD> </ TD> <td class='weekend2 noborder'> </ TD> </ TR> <TR> <TD class='weekend2'> </ TD> < TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <td class='weekend2 noborder'> </ TD> </ TR > <TR> <td class='weekend2'> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD> <TD> </ TD > <td class='weekend2'> </ TD> </ TR> <TR> <TD class='weekend2'> </ TD> <TD> </ TD> <TD> </ TD> <TD> < / TD> <TD> </ TD> <TD> </ TD> <td class='weekend2'> </ TD> </ TR> </ TABLE> </ DIV> </ DIV> </ DIV> < / DIV>“);   
        VAR $ mhInput = $(本);
        VAR isToday = TRUE ;/ /是否為今天界面風格默認為什么   
        日期=新的日期();/ /獲得時間對象
        VAR nowYear = date.getFullYear();/ /獲得當前年份
        VAR nowMonth = date.getMonth()+1 ;/ /獲得當前月份
        VAR今天= date.getDate();/ /獲得當前天5.3
        VAR nowWeek =新的日期(nowYear,nowMonth  -  1,1)。getDay();/ /獲得當前星期
        nowLastday = getMonthNum(nowMonth,nowYear);/ /獲得最后一天
        / /年,月下拉框的初始化
        (VAR我= options.beginY;我<= options.endY;我+){
            $(“<option value='"+i+"'>”+ +“年</選項>”)appendTo($(“#年”));
        }
        (VAR I = 1;我<= 12; I + +){
            $(“<option value='"+i+"'>”+ +“月</選項>”)appendTo($(“#月”));
        }       
        ManhuaDate的(nowYear,nowMonth,nowWeek nowLastday);/ /初始化為當前日期        
        / /上一月綁定點擊事件
        $(“#preMonth”)。點擊(函數(){
            isToday =虛假的;
            年= parseInt($(“#年”)VAL());
            一個月= parseInt($(“#月”)VAL());        
            一個月=月 -  1;
            如果(月<1){
                一個月= 12;
                一年=年 -  1;
            }
            (nowYear ==月的&& nowMonth ==){
                isToday = TRUE;
            }
            VAR周=新的日期(年,月 -  1,1)getDay();
            LASTDAY = getMonthNum(月,年);
            ManhuaDate(年,月,周,LASTDAY);
        });     
        / /繁體下拉框的改變事件
        $(“#年”)。變化(函數(){    
            isToday =虛假的;                  
            年= parseInt($(本)VAL());     
            一個月= parseInt($(“#月”)VAL());    
            (nowYear ==月的&& nowMonth ==){
                isToday = TRUE;
            }
            VAR周=新的日期(年,月 -  1,1)getDay();
            LASTDAY = getMonthNum(月,年);
            ManhuaDate(年,月,周,LASTDAY);
        });     
        / /月下拉框的改變事件
        $(“#月”)。變化(函數(){
            isToday =虛假的;
            年= parseInt($(“#年”)VAL());      
            月= parseInt($(本)VAL()); 
            (nowYear ==月的&& nowMonth ==){
                isToday = TRUE;
            }
            VAR周=新的日期(年,月 -  1,1)getDay();
            LASTDAY = getMonthNum(月,年);
            ManhuaDate(年,月,周,LASTDAY);
        });     
        / /下一個月的點擊事件
         $(“#nextMonth”)。點擊(函數(){
            isToday =虛假的;
            年= parseInt($(“#年”)VAL());
            一個月= parseInt($(“#月”)VAL());

            月= parseInt(月)+ 1;
            (parseInt(月)> 12){
                一個月= 1;
                一年= parseInt(年)+ 1;
            }
            (nowYear ==月的&& nowMonth ==){
                isToday = TRUE;
            }
            VAR周=新的日期(年,月 -  1,1)getDay();
            LASTDAY = getMonthNum(月,年);
            ManhuaDate(年,月,周,LASTDAY);
        });

         / /初始化日歷
         函數ManhuaDate(年,月,周,LASTDAY){
            $(“#年”)值(年)。;
            $(“#月”)。值(月)
            表=(“日歷”);
            VAR?= 1;
            (VAR J = 0; J <一周; J +){
                table.rows [1]細胞[J]。的innerHTML =“”
            }
            (VAR J =一周; J <7; J +){
                如果(N ==今天&& isToday){               
                    table.rows [1]細胞[J]的className =“tdtoday”。;              
                }否則{
                    table.rows [1]細胞[J]的className =“。;
                }
                table.rows [1]細胞[J]的innerHTML = N。;
                N + +;
            }
            (I = 2;我<7; I + +){
                (J = 0 J <7; J + +){
                    如果(> LASTDAY){
                        table.rows [I]。細胞[J]。的innerHTML =“”
                    }
                     其他{
                        如果(N ==今天&& isToday){                       
                            [我] table.rows細胞[J]的className =“tdtoday”。;                      
                        }否則{
                            table.rows [I]細胞[J]的className =“”。
                        }
                        table.rows [I]細胞[J]的innerHTML = N。;
                        N + +;
                    }
                }
            }
        }
        / /獲得月份的天數
        功能getMonthNum(月,年){
            一個月=月 -  1;
            LeapYear =((年%4 == 0 &&每年100%= 0)| |年%400 == 0)?真:假的;
            VAR monthNum;
            開關(parseInt(月)){
            情況下,0:
            例2:
            案例4:
            案例6:
            案例7:
            案例9:
            案例11:
                monthNum = 31;
                打破;
            案例3:
            案例5:
            例8:
            案件10:
                monthNum = 30;
                打破;
            例1:
                monthNum = LeapYear?29:28;
            }
            返回monthNum;
        }       
        / /每一列的懸掛事件改變當前樣式
        $(“#壓延TD:(tdtoday)”)。懸停(函數(){
            $(本)。addClass(“懸停”)
        },函數(){
            $(本)示例對(“懸停”);
        });     
        / /點擊時間列表事件
        $(“#壓延TD”)。點擊(函數(){ 
            VAR DV = $(本)HTML();
            (DV!=“”){
                 VAR STR =“”;
                 如果(options.isTime){            
                    VAR ND =新的日期();
                    STR = $(“#年”)VAL()+ options.fuhao + $(“#月”)VAL()+ options.fuhao + DV +“+ nd.getHours()”:“+ ND getMinutes()+“:”nd.getSeconds();
                 }否則{
                    STR = $(“#年”)VAL()+ options.fuhao + $(“#月”)VAL()。+ options.fuhao + DV;
                }
                $ mhInput.val(STR);
                $(“。遮照”),隱藏();
                $(“日歷”),隱藏();
            }
        });
        / /文本框綁定事件
        美元mhInput.live(options.Event,功能(E){                     
          IOF = ??$(本),偏移();
          $(“日歷”)。CSS({“左”:iof.left + options.Left,“頂”:iof.top + options.Top})。
          $(“。遮照”)表明();
          $(“日歷”),表明(); 
        });     
        / /點擊遮罩層關閉時間層
        $(“。遮照”)。生活(“點擊”,函數(){
                $(“日歷”),隱藏();
                $()();
        });     
    };
});
在線演示和下載
 本文由用戶 dengjianbin 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!