原生js实现简单日历的制作

效果图

在这里插入图片描述

代码块

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
</head>

<body>
<script>
/*
var myDate = new Date();
myDate.getYear();        //获取当前年份(2位)
myDate.getFullYear();    //获取完整的年份(4位,1970-????)
myDate.getMonth();       //获取当前月份(0-11,0代表1月)
myDate.getDate();        //获取当前日(1-31)
myDate.getDay();         //获取当前星期X(0-6,0代表星期天)
myDate.getTime();        //获取当前时间(从1970.1.1开始的毫秒数)
myDate.getHours();       //获取当前小时数(0-23)
myDate.getMinutes();     //获取当前分钟数(0-59)
myDate.getSeconds();     //获取当前秒数(0-59)
myDate.getMilliseconds();    //获取当前毫秒数(0-999)
myDate.toLocaleDateString();     //获取当前日期
var mytime=myDate.toLocaleTimeString();     //获取当前时间
myDate.toLocaleString( );        //获取日期与时间
*/
var weekday=new Array("星期天","星期一","星期二","星期三","星期四","星期五","星期六");
var monthname=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var monthdays=new Array(31,28,31,30,31,30,31,31,30,31,30,31);
var mydate=new Date();
var myyear=mydate.getFullYear();
var mymouth=mydate.getMonth();
var myday=mydate.getDate();//获取当前日期
var myweek=mydate.getDay();//获取当前星期几
if(myyear%4==0&&myyear%100==0||myyear%400==0){
	mouthdays[1]=29;
}
mydate.setDate(1);
var m=mydate.getDay();//获取当前月一号星期几
//document.write(mydate);
document.write(m);
document.write("<table width='400' border='1'>");
document.write("<tr align='center'><td colspan='7' >"+myyear+"年"+(++mymouth)+"月"+myday+"日"+" </td></tr>");
var n=1;
//var l=0
mymouth--;
document.write("<tr>");
for(var i=0;i<7;i++)
{
	document.write("<td>");
	document.write(weekday[i]);
	document.write("</td>");		
}
document.write("</tr>");
for(var i=0;i<5;i++){	
	if(m>0){
		document.write("<tr>");
		for(var j=0;j<m;j++){
			document.write("<td>");
			document.write("&nbsp;");
			document.write("</td>");	
		}
		for(var k=m;k<7;k++){
			if(n==myday){
				document.write("<td style='color:red'>");
				document.write(n);
				document.write("</td>");
			}
			else{
				document.write("<td >");
				document.write(n);
				document.write("</td>");
			}
			n++	
		}
		document.write("</tr>");
		m=0;
	}
	if(m==0){
		document.write("<tr>");
		for(var k=0;k<7;k++){
			if(n>monthdays[mymouth]){
				document.write("<td>");
				document.write("&nbsp;");
				document.write("</td>");
			}
			else{
				if(n==myday){
					document.write("<td style='color:red'>");
					document.write(n);
					document.write("</td>");
				}
				else{
					document.write("<td >");
					document.write(n);
					document.write("</td>");
				}
				n++;
			}		
		}
		document.write("</tr>");
	}
}
document.write("</table>");
</script>
</body>
</html>

  • 11
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript"> //创建一个数组,用于存放每个月的天数 function montharr(m0, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, m11)  { this[0] = m0; this[1] = m1; this[2] = m2; this[3] = m3; this[4] = m4; this[5] = m5; this[6] = m6; this[7] = m7; this[8] = m8; this[9] = m9; this[10] = m10; this[11] = m11; } //实现月历 function calendar() { var monthNames = "JanFebMarAprMayJunJulAugSepOctNovDec"; var today = new Date(); var thisDay; var monthDays = new montharr(31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31); year = today.getYear() +1900; thisDay = today.getDate(); if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) monthDays[1] = 29; nDays = monthDays[today.getMonth()]; firstDay = today; firstDay.setDate(1); testMe = firstDay.getDate(); if (testMe == 2) firstDay.setDate(0); startDay = firstDay.getDay(); document.write("<div id='rili' style='position:absolute;width:140px;left:300px;top:100px;'>")  document.write("<TABLE width='217' BORDER='0' CELLSPACING='0' CELLPADDING='2' BGCOLOR='#0080FF'>") document.write("<TR><TD><table border='0' cellspacing='1' cellpadding='2' bgcolor='Silver'>"); document.write("<TR><th colspan='7' bgcolor='#C8E3FF'>"); var dayNames = new Array("星期日","星期一","星期二","星期三","星期四","星期五","星期六"); var monthNames = new Array("1月","2月","3月","4月","5月","6月","7月","8月","9月","10月","11月","12月"); var now = new Date(); document.writeln("<FONT STYLE='font-size:9pt;Color:#330099'>" + "公元 " + now.getYear() + "年" + monthNames[now.getMonth()] + " " + now.getDate() + "日 " + dayNames[now.getDay()] + "</FONT>"); document.writeln("</TH></TR><TR><TH BGCOLOR='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>日</FONT></TH>"); document.writeln("<th bgcolor='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>一</FONT></TH>"); document.writeln("<TH BGCOLOR='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>二</FONT></TH>"); document.writeln("<TH BGCOLOR='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>三</FONT></TH>"); document.writeln("<TH BGCOLOR='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>四</FONT></TH>"); document.writeln("<TH BGCOLOR='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>五</FONT></TH>"); document.writeln("<TH BGCOLOR='#0080FF'><FONT STYLE='font-size:9pt;Color:White'>六</FONT></TH>"); document.writeln("</TR><TR>"); column = 0; for (i=0; i<startDay; i++) { document.writeln("\n<TD><FONT STYLE='font-size:9pt'> </FONT></TD>"); column++; } for (i=1; i<=nDays; i++) { if (i == thisDay) { document.writeln("</TD><TD ALIGN='CENTER' BGCOLOR='#FF8040'><FONT STYLE='font-size:9pt;Color:#ffffff'><B>") } else { document.writeln("</TD><TD BGCOLOR='#FFFFFF' ALIGN='CENTER'><FONT STYLE='font-size:9pt;font-family:Arial;font-weight:bold;Color:#330066'>"); } document.writeln(i); if (i == thisDay) document.writeln("</FONT></TD>") column++; if (column == 7) { document.writeln("<TR>");  column = 0; } } document.writeln("<TR><TD COLSPAN='7' ALIGN='CENTER' VALIGN='TOP' BGCOLOR='#0080FF'>") document.writeln("<FORM NAME='clock' onSubmit='0'><FONT STYLE='font-size:9pt;Color:#ffffff'>") document.writeln(" 现在时间:<INPUT TYPE='Text' NAME='face' ALIGN='TOP'></FONT></FORM></TD></TR></TABLE>") document.writeln("</TD></TR></TABLE></div>"); } </SCRIPT>
好的,我可以提供一个简单的限时秒杀demo的原生JavaScript实现。以下是基本的HTML和CSS代码: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>限时秒杀</title> <style> .seckill-item { border: 1px solid #ccc; margin: 10px; padding: 10px; width: 200px; height: 200px; float: left; } .seckill-item img { width: 100%; height: 120px; } .seckill-item h3 { font-size: 16px; margin: 10px 0; } .seckill-item .price { font-size: 20px; color: red; margin: 10px 0; } .seckill-item .stock { margin: 10px 0; } .seckill-item .btn-seckill { background-color: #f00; color: #fff; border: none; padding: 5px 10px; margin-top: 10px; cursor: pointer; } </style> </head> <body> <div id="seckill-list"> <div class="seckill-item"> <img src="img/1.jpg" alt="商品1"> <h3>商品1</h3> <div class="price">¥99.00</div> <div class="stock">库存: 100</div> <button class="btn-seckill" data-id="1" data-price="99.00" data-stock="100" data-start="2022/01/01 00:00:00" data-end="2022/01/01 23:59:59">立即秒杀</button> </div> <div class="seckill-item"> <img src="img/2.jpg" alt="商品2"> <h3>商品2</h3> <div class="price">¥199.00</div> <div class="stock">库存: 50</div> <button class="btn-seckill" data-id="2" data-price="199.00" data-stock="50" data-start="2022/01/01 00:00:00" data-end="2022/01/01 23:59:59">立即秒杀</button> </div> </div> <script src="seckill.js"></script> </body> </html> ``` 在这个页面中,我们设置了两个商品的信息,包括商品名称、价格、库存量和秒杀活动的开始时间和结束时间。每个商品都有一个“立即秒杀”按钮,它包含了商品的相关信息,通过data-*属性来存储。 以下是JavaScript代码的实现: ```javascript // 获取秒杀按钮列表 var seckillBtns = document.querySelectorAll('.btn-seckill'); // 循环遍历秒杀按钮列表,为每个按钮添加点击事件 seckillBtns.forEach(function(btn) { btn.addEventListener('click', function() { // 获取秒杀商品的相关信息 var id = this.getAttribute('data-id'); var price = this.getAttribute('data-price'); var stock = this.getAttribute('data-stock'); var start = this.getAttribute('data-start'); var end = this.getAttribute('data-end'); // 判断当前时间是否在秒杀活动时间范围内 var now = new Date(); var startTime = new Date(start); var endTime = new Date(end); if (now < startTime || now > endTime) { alert('秒杀活动还未开始或已经结束!'); return false; } // 判断商品库存是否充足 if (stock <= 0) { alert('商品库存不足!'); return false; } // 发送秒杀请求 alert('恭喜,秒杀成功!'); // 更新商品库存 stock--; this.setAttribute('data-stock', stock); this.parentNode.querySelector('.stock').innerHTML = '库存: ' + stock; }); }); ``` 这段代码的主要功能是为每个“立即秒杀”按钮添加点击事件,当用户点击按钮时,首先获取商品的相关信息,然后判断当前时间是否在秒杀活动时间范围内,以及商品库存是否充足。如果满足条件,就发送秒杀请求,更新商品库存信息。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值