Heim Web-Frontend js-Tutorial Eine einfache Möglichkeit, einen Kalender mit jQuery_jquery zu implementieren

Eine einfache Möglichkeit, einen Kalender mit jQuery_jquery zu implementieren

May 16, 2016 pm 04:01 PM
jquery

Das Beispiel in diesem Artikel beschreibt, wie man einfach einen Kalender mit jQuery implementiert. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:

Das Prinzip ist ganz einfach. Berechnen Sie zunächst, wie viele Tage ein Monat hat, berechnen Sie dann den Wochentag, an dem der erste Tag des Monats ist, und sortieren Sie ihn dann der Reihe nach.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

241

242

243

244

245

246

247

248

249

250

251

252

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

276

277

278

279

280

281

282

283

284

285

286

287

288

289

290

291

292

293

294

295

296

297

298

299

300

301

302

303

<!DOCTYPE HTML>

<html lang="zh-CN">

<head>

<meta charset="utf-8">

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" />

<meta name="format-detection" content="telephone=no" />

<title>tryMyOwnCalendar</title>

<script src="js/jquery.min.js" language="javascript"></script>

<style>

*{ margin:0; padding:0;}

.choosecal{ width:96%; margin:3% auto; overflow:hidden;}

.ccaltop{ width:100%; border-radius:5px; }

.caltline1,.caltline2{ width:94%; background-color:#F90; overflow:hidden; padding:2% 3%;}

.caltline1 p,.caltline2 p{ float:left; width:10%; font-weight:700; text-align:right;}

.caltline1 .bookdate{ width:90%; text-align:left;}

.caltline2{ background-color:#FFF; display:none;}

.caltline2 p{ width:20%;}

.caltline2 .datetext{ width:35%; border:1px solid #000;

background-color:#FFF; font-weight:700;}

.inputdate{ color:#F60;}

.calender{ width:100%; margin-top:3%; overflow:hidden; display:none;}

.selectmouth{ background-color:#F30; width:94%;

overflow:hidden;padding:2% 3%;border-radius:5px 5px 0 0;}

.selectmouth p{ float:left; width:33%; color:#FFF;

font-weight:700; cursor:pointer;}

.selectmouth .selectdate{ width:100%; background-color:#F30;

border:none; color:#FFF; font-weight:700; text-align:center;}

.data_table{ width:100%;border:1px solid #cccccc;

border-collapse:collapse; }

.data_table thead{ background-color:#333;}

.data_table thead td{ color:#FFF; text-align:center;

border:1px solid #333;border-collapse:collapse; padding:1% 0;

}

.data_table tbody td{border:1px solid #cccccc;

border-collapse:collapse;

text-align:center;color:#0C6;padding:1% 0;

}

.data_table tbody td.orderdate{ color:#000;}

.data_table tbody td.tdselect{ color:#fff;background-color:#999}

</style>

</head>

<body>

 <div class="choosecal">

 <div class="ccaltop">

  <div class="caltline1">

  <p class="bookdate">选择入住日期……</p>

  <p><img src="images/next.png" /></p>

  </div>

  <div class="caltline2">

  <p style=" width:80%; text-align:left;">

   <input type="text" value=""

 class="datetext datetoday inputdate" readonly=readonly />

   

   <input type="text" value="" class="datetext dateendday"

 readonly=readonly />

  </p>

  <p><input type="button" value="确定" class="btsure" /></p>

  </div>

 </div>

 <div class="calender">

  <div class="selectmouth">

  <p style="text-align:right" class="lastmonth"><</p>

  <p><input type="text" class="selectdate" value="2014年2月" readonly=readonly /></p>

  <p class="nextmonth">></p>

  </div>

  <table class="data_table" cellspacing="0px">

  <thead>

   <tr>

   <td>日</td><td>一</td><td>二</td><td>三</td><td>四</td><td>五</td><td>六</td>

   </tr>

  </thead>

  <tbody>

   <tr>

   <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td>

   </tr>

   <tr>

   <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td>

   </tr>

   <tr>

   <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td>

   </tr>

   <tr>

   <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td>

   </tr>

   <tr>

   <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td>

   </tr>

   <tr>

   <td>1</td><td></td><td></td><td></td><td></td><td></td><td></td>

   </tr>

   </tbody>

  </table>

 </div>

 </div>

 <script>

 window.onload=function(){

 var mydate=new Date();

 var thisyear=mydate.getFullYear();

 var thismonth=mydate.getMonth()+1;

 var thisday=mydate.getDate();

 var mydate1=new Date();

 var thisyear1=mydate1.getFullYear();

 var thismonth1=mydate1.getMonth()+1;

 var thisday1=mydate1.getDate();

 var selectday=thisday;

 //标记日期

 var indate=thisday;

 //入住日期

 var inmonth=thismonth;

 //入住月份

 var outdate=thisday+1;

 //退房日期

 var outmonth=thismonth;

 //退房月份

 var datetxt="datetoday"

 var datefirst;

 var datesecond;

 function initdata(){

 //日期初始填充

 var tdheight=jQuery(".data_table tbody tr").eq(0).find("td").height();

 jQuery(".data_table tbody td").css("height",tdheight);

 jQuery(".selectdate").val(thisyear+"年"+thismonth+"月");

 var days=getdaysinonemonth(thisyear,thismonth);

 var weekday=getfirstday(thisyear,thismonth);

 setcalender(days,weekday);

 markdate(thisyear,thismonth,selectday);

 orderabledate(thisyear,thismonth,thisday);

 }

 initdata();

 jQuery(".datetoday").val(thisyear+"-"+thismonth+"-"+thisday);

 jQuery(".dateendday").val(thisyear+"-"+thismonth+"-"+(thisday+1));

 function orderabledate(thisyear,thismonth,thisday){  

 //能预订的日期

 if(thisyear<thisyear1){

 jQuery(".data_table tbody td").addClass("orderdate");

 jQuery(".data_table tbody td").removeClass("usedate");

 }else if(thisyear==thisyear1){

 if(thismonth<thismonth1){

 jQuery(".data_table tbody td").addClass("orderdate");

 jQuery(".data_table tbody td").removeClass("usedate");

 }else if(thismonth==thismonth1){

 for(var j=0;j<6;j++){

 for(var i=0;i<7;i++){

 var tdhtml=jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html();

 if(tdhtml<thisday){

  jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("orderdate");

  jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("usedate");

 }else{

  jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("orderdate");

 }

 }

 }

 }else{

 jQuery(".data_table tbody td").removeClass("orderdate");

 }

 }else{

 jQuery(".data_table tbody td").removeClass("orderdate");

 }

 }

 function markdate(thisyear,thismonth,thisday){  

 //标记日期

 var datetxt=thisyear+"年"+thismonth+"月";

 var thisdatetxt=thisyear1+"年"+thismonth1+"月";

 jQuery(".data_table td").removeClass("tdselect");

 if(datetxt==thisdatetxt){

 for(var j=0;j<6;j++){

 for(var i=0;i<7;i++){

 var tdhtml=jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html();

 if(tdhtml==thisday){

 jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("tdselect");

 }

 }

 }

 }

 }

 function getdaysinonemonth(year,month){

 //算某个月的总天数

 month=parseInt(month,10);

 var d=new Date(year,month,0);

 return d.getDate();

 }

 function getfirstday(year,month){

 //算某个月的第一天是星期几

 month=month-1;

 var d=new Date(year,month,1);

 return d.getDay();

 }

 function setcalender(days,weekday){

 //往日历中填入日期

 var a=1;

 for(var j=0;j<6;j++){

 for(var i=0;i<7;i++){

 if(j==0&&i<weekday){

 jQuery(".data_table tbody tr").eq(0).find("td").eq(i).html("");

 jQuery(".data_table tbody tr").eq(0).find("td").eq(i).removeClass("usedate");

 }else{

 if(a<=days){

 jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html(a);

 jQuery(".data_table tbody tr").eq(j).find("td").eq(i).addClass("usedate");

 a++;

 }else{

 jQuery(".data_table tbody tr").eq(j).find("td").eq(i).html("");

 jQuery(".data_table tbody tr").eq(j).find("td").eq(i).removeClass("usedate");

 a=days+1;

 }

 }

 }

 }

 }

 function errorreset(){

 //日期报错后,数据重置

 thisyear=thisyear1;

 thismonth=thismonth1;

 thisday=thisday1;

 selectday=thisday1;

 indate=thisday1;

 inmonth=thismonth1;

 outdate=thisday1+1;

 outmonth=thismonth1;

 initdata();

 }

 jQuery(".data_table tbody td.usedate").live("click",function(){ //点击日期的效果

 var thishtml=parseInt(jQuery(this).html());

 jQuery(".data_table td").removeClass("tdselect");

 jQuery(this).addClass("tdselect");

 selectday=thishtml;

 if(datetxt=="datetoday"){

 jQuery(".datetoday").val(thisyear+"-"+thismonth+"-"+selectday);

 indate=selectday;

 inmonth=thismonth;

 }else{

 jQuery(".dateendday").val(thisyear+"-"+thismonth+"-"+selectday);

 outdate=selectday;

 outmonth=thismonth;

 if(outmonth<inmonth){

 alert("日期填写错误");

 jQuery(".datetoday").val(thisyear1+"-"+thismonth1+"-"+thisday1);

 jQuery(".dateendday").val(thisyear1+"-"+thismonth1+"-"+(thisday1+1));

 errorreset();

 }else if(outmonth==inmonth){

 if(outdate<=indate){

 alert("日期填写错误");

 jQuery(".datetoday").val(thisyear1+"-"+thismonth1+"-"+thisday1);

 jQuery(".dateendday").val(thisyear1+"-"+thismonth1+"-"+(thisday1+1));

 errorreset();

 }

 }

 }

 });

 jQuery(".datetoday").click(function(){

 //选择入住日期

 datetxt="datetoday";

 jQuery(".datetext").removeClass("inputdate");

 jQuery(this).addClass("inputdate");

 });

 jQuery(".dateendday").click(function(){

 //选择退房日期

 datetxt="dateendday";

 jQuery(".datetext").removeClass("inputdate");

 jQuery(this).addClass("inputdate");

 });

 jQuery(".lastmonth").click(function(){

 //上一个月

 thismonth--;

 if(thismonth==0){

 thismonth=12;

 thisyear--;

 }

 initdata();

 });

 jQuery(".nextmonth").click(function(){

 //上一个月

 thismonth++;

 if(thismonth==13){

 thismonth=1;

 thisyear++;

 }

 initdata();

 });

 jQuery(".btsure").click(function(){

 //确定日期

 var start = new Date($(".datetoday").val());

 var end = new Date($(".dateendday").val());

 var diff = parseInt((end - start) / (1000*3600*24));

 jQuery(".bookdate").html(inmonth+"月"+indate+"日至"+outmonth+"月"+outdate+"日("+diff+")晚")

 });

 jQuery(".caltline1").toggle(

 function(){

 jQuery(".caltline2").slideDown(500);

 jQuery(".calender").fadeIn(500);

 errorreset();

 jQuery(".caltline1").find("img").attr("src","images/iconpointup.png");

 },

 function(){

 jQuery(".caltline2").slideUp(500);

 jQuery(".calender").fadeOut(500);

 jQuery(".caltline1").find("img").attr("src","images/iconpoint.png");

 }

 );

 }

</script>

</body>

</html>

Nach dem Login kopieren

Ich hoffe, dass dieser Artikel für alle bei der jQuery-Programmierung hilfreich sein wird.

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Ausführliche Erläuterung der jQuery-Referenzmethoden: Kurzanleitung Ausführliche Erläuterung der jQuery-Referenzmethoden: Kurzanleitung Feb 27, 2024 pm 06:45 PM

Detaillierte Erläuterung der jQuery-Referenzmethode: Kurzanleitung jQuery ist eine beliebte JavaScript-Bibliothek, die häufig in der Website-Entwicklung verwendet wird. Sie vereinfacht die JavaScript-Programmierung und bietet Entwicklern umfangreiche Funktionen und Features. In diesem Artikel wird die Referenzmethode von jQuery ausführlich vorgestellt und spezifische Codebeispiele bereitgestellt, um den Lesern einen schnellen Einstieg zu erleichtern. Einführung in jQuery Zuerst müssen wir die jQuery-Bibliothek in die HTML-Datei einführen. Es kann über einen CDN-Link eingeführt oder heruntergeladen werden

Wie verwende ich die PUT-Anfragemethode in jQuery? Wie verwende ich die PUT-Anfragemethode in jQuery? Feb 28, 2024 pm 03:12 PM

Wie verwende ich die PUT-Anfragemethode in jQuery? In jQuery ähnelt die Methode zum Senden einer PUT-Anfrage dem Senden anderer Arten von Anfragen, Sie müssen jedoch auf einige Details und Parametereinstellungen achten. PUT-Anfragen werden normalerweise zum Aktualisieren von Ressourcen verwendet, beispielsweise zum Aktualisieren von Daten in einer Datenbank oder zum Aktualisieren von Dateien auf dem Server. Das Folgende ist ein spezifisches Codebeispiel, das die PUT-Anforderungsmethode in jQuery verwendet. Stellen Sie zunächst sicher, dass Sie die jQuery-Bibliotheksdatei einschließen. Anschließend können Sie eine PUT-Anfrage senden über: $.ajax({u

Eingehende Analyse: Vor- und Nachteile von jQuery Eingehende Analyse: Vor- und Nachteile von jQuery Feb 27, 2024 pm 05:18 PM

jQuery ist eine schnelle, kleine und funktionsreiche JavaScript-Bibliothek, die häufig in der Front-End-Entwicklung verwendet wird. Seit seiner Veröffentlichung im Jahr 2006 ist jQuery für viele Entwickler zu einem der bevorzugten Tools geworden, hat in der Praxis jedoch auch einige Vor- und Nachteile. In diesem Artikel werden die Vor- und Nachteile von jQuery eingehend analysiert und anhand spezifischer Codebeispiele veranschaulicht. Vorteile: 1. Prägnante Syntax Das Syntaxdesign von jQuery ist prägnant und klar, was die Lesbarkeit und Schreibeffizienz des Codes erheblich verbessern kann. Zum Beispiel,

Wie entferne ich das Höhenattribut eines Elements mit jQuery? Wie entferne ich das Höhenattribut eines Elements mit jQuery? Feb 28, 2024 am 08:39 AM

Wie entferne ich das Höhenattribut eines Elements mit jQuery? Bei der Front-End-Entwicklung müssen wir häufig die Höhenattribute von Elementen manipulieren. Manchmal müssen wir möglicherweise die Höhe eines Elements dynamisch ändern, und manchmal müssen wir das Höhenattribut eines Elements entfernen. In diesem Artikel wird erläutert, wie Sie mit jQuery das Höhenattribut eines Elements entfernen, und es werden spezifische Codebeispiele bereitgestellt. Bevor wir jQuery zum Betreiben des Höhenattributs verwenden, müssen wir zunächst das Höhenattribut in CSS verstehen. Das Höhenattribut wird verwendet, um die Höhe eines Elements festzulegen

jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite jQuery-Tipps: Ändern Sie schnell den Text aller a-Tags auf der Seite Feb 28, 2024 pm 09:06 PM

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: &lt

Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Verwenden Sie jQuery, um den Textinhalt aller a-Tags zu ändern Feb 28, 2024 pm 05:42 PM

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Feb 29, 2024 am 09:03 AM

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat

Verstehen Sie die Rolle und Anwendungsszenarien von eq in jQuery Verstehen Sie die Rolle und Anwendungsszenarien von eq in jQuery Feb 28, 2024 pm 01:15 PM

jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur DOM-Manipulation und Ereignisbehandlung in Webseiten verwendet wird. In jQuery wird die Methode eq() verwendet, um Elemente an einer bestimmten Indexposition auszuwählen. Die spezifischen Verwendungs- und Anwendungsszenarien sind wie folgt. In jQuery wählt die Methode eq() das Element an einer angegebenen Indexposition aus. Indexpositionen beginnen bei 0 zu zählen, d. h. der Index des ersten Elements ist 0, der Index des zweiten Elements ist 1 und so weiter. Die Syntax der eq()-Methode lautet wie folgt: $("s

See all articles