Bei der Seitenentwicklung stoßen wir häufig auf Vorgänge, bei denen Benutzer Daten eingeben müssen. Der übliche Ansatz besteht darin, dem Benutzer ein Textfeld (Text) zur Eingabe bereitzustellen und dann Code zu schreiben, um die eingegebenen Daten zu überprüfen und festzustellen, ob es sich um einen Datumstyp handelt. Dies ist problematischer und gleichzeitig ist es für den Benutzer nicht sehr bequem, das Datum einzugeben, was sich auf die Benutzererfahrung auswirkt. Wenn Sie das Datepicker-Plugin (Kalender) in der jQuery-Benutzeroberfläche verwenden, können diese Probleme leicht gelöst werden. Das von diesem Plug-in aufgerufene
3. showButtonPanel Legen Sie einen booleschen Wert fest. Unter dem Datum wird ein Panel mit zwei Schaltflächen angezeigt. Eine davon ist „Heute“ und die andere ist „Schließen“. angezeigt werden
4. closeText Legen Sie die Textinformationen für die Schaltfläche „Schließen“ fest. Die Voraussetzung für diese Einstellung ist, dass der Wert von showButtonPanel wahr sein muss, sonst wird der Effekt nicht angezeigt
5. dateFormat Legen Sie das im Textfeld (text) angezeigte Datumsformat fest, das auf {dateFormat,'yy-mm-dd'} eingestellt werden kann, was bedeutet, dass das Datumsformat Jahr-Monat-Tag ist, z. B. 2012-10 -1
6. defaultDate Legen Sie einen Standarddatumswert fest, z. B. {defaultDate 7}. Dies bedeutet, dass das Standarddatum nach dem Popup des Datumsauswahlfensters das aktuelle Datum plus 7 Tage
ist
7. showAnim Legen Sie fest, wie das Popup angezeigt oder das Datumsauswahlfenster ausgeblendet werden soll. Zu den einstellbaren Methoden gehören „show“, „sildeDown“, „fadeln“ und letzteres „“, was bedeutet, dass es keine Möglichkeit gibt, das Datumsauswahlfenster
aufzurufen
8. showWeek Legen Sie einen booleschen Wert fest. Wenn dieser wahr ist, können Sie die Woche anzeigen, die jedem Tag entspricht. Der Standardwert ist falsch
9. yearRange Legen Sie den Jahresbereich fest
Vor kurzem habe ich die Entwicklung von JS-Plug-Ins studiert. In der Vergangenheit habe ich gesehen, dass die Meister Plug-Ins einfach in die Hand genommen und damit gespielt haben. Ich hatte das Gefühl, dass es großartig wäre, wenn ich dieses Niveau erreichen würde. Also begann ich, mich selbst mit der Plug-in-Entwicklung zu beschäftigen. Nachdem ich eine Weile studiert hatte, begann ich, mein erstes Kalender-Plug-In zu schreiben. Da ich ein Anfänger in der Plug-In-Entwicklung bin, ist die Lesbarkeit des Codes möglicherweise etwas schlecht Code in Zukunft hinzufügen, um dieses Plug-in vollständiger zu machen.
Geben Sie dem Plug-in zunächst einen Gesamt-Div-Container
<div class="y-total"></div>
.y-total{height:auto;border:px solid #;} .y-total .return-btn{height:px;} .y-total .return-btn>div{border-right: px solid #;border-bottom: px solid #;color: #;font-family: "Microsoft Yahei",PMingLiU,Verdana,Arial,Helvetica,sans-serif} .y-total .return-btn>div:nth-child(){border-right:px;} .y-total .prev-btn{cursor: pointer;width:%;float: left;text-align: center;} .y-total .time{cursor: pointer;float:left;width:%;text-align: center;} .y-total .next-btn{cursor: pointer;float:right;width:%;text-align: center;} .y-total .y-stop{position: absolute;margin-left: px;background-color: red;color: #fff;} .y-total #datatab{clear:both;width:%;} .y-total #datatab td {height:px;font-family: "Microsoft Yahei",PMingLiU,Verdana,Arial,Helvetica,sans-serif;color: #;border: px solid #DDD;font-size: px;text-align: center;}
<script> (function($){ var Beautifier = function(vals,options){ this.vals = vals; this.defaults = { "width":"px" } this.p = $.extend({},this.defaults,options); this.$div = $("<div class='return-btn'></div>"); this.prev = $("<div class='prev-btn'>前一页</div>"); this.time = $("<div class='time'></div>"); this.next = $("<div class='next-btn'>后一页</div>"); this.tab = $("<table id='datatab'><tr></tr></table>"); } Beautifier.prototype = { getDate : function(){ var vals = this.vals; var t = this.time.attr("class"); var tab = this.tab.attr("id"); this.$div.append(this.prev,this.time,this.next); $(this.p.$this).append(this.$div,this.tab).width(this.p.width); var i = getInfo(vals); $("."+t).text(vals.year+"-" + i[]+"-" + i[]); $(".prev-btn,.next-btn").click(function(){returnAction($(this),t,vals,tab)}); setDateInfo(tab); init(vals,tab); } } /*加载时将日期放入td中*/ function init(vals,tab){ var w = new Date(vals.year+","+vals.month+","+).getDay()//获取本月第一天是星期几 var l =(w==?:w-) + new Date(vals.year,vals.month,).getDate();//需要铺上td的个数 var t = Math.ceil(l/); for(var i=; i<t; i++){ $("#"+tab).append("<tr class='y-tr'></tr>"); } $(".y-tr").each(function(){ for(var i=; i<; i++){ $(this).append("<td></td>"); } }) setvalue(vals,new Date(vals.year,vals.month,).getDate(),w); } function setvalue(val,l,w){ for(var i=;i<l+;i++){ var space = w==?i+-+:i+w-+; $("td").eq(space).text(i); if(i == val.day){ $("td").eq(space).css("color","red"); } } } function getInfo(vals){ var info = []; info.push(vals.month > ? vals.month : "" + vals.month); info.push(vals.day > ? vals.day : "" + vals.day); return info; } function setDateInfo(tab){ var m = ["","一","二","三","四","五","六","日"]; for(var i=; i<; i++){ $("#"+tab).find("tr:eq()").append("<td>星期"+m[i]+"</td>"); } } /*上一页,下一页的点击事件*/ function returnAction($this,t,val,tab){ if($this.attr("class") == "prev-btn"){ if(val.month < ){ val.month =; val.year-=; }else{ val.month-=; } }else if($this.attr("class") == "next-btn"){ if(val.month > ){ val.month =; val.year+=; }else{ val.month+=; } } var v = getInfo(val); $("."+t).text(val.year+"-"+v[]+"-"+v[]); $(".y-tr").remove(); init(val,tab); } $.fn.work = function(options){ var t = new Date(); var DateVal = { "year" : t.getFullYear(), "month" : t.getMonth()+, "day" : t.getDate() } var objs = new Beautifier(DateVal,options); objs.getDate(); } })(jQuery) </script>
<script> $(".y-total").work({ "$this" : ".y-total", "width" : "px",//控制容器的宽度 }); </script>