jqueryプラグインを毎日学ぶ-日付プラグインを実行する1

jqueryプラグインを毎日-日付プラグインを実行1

日付プラグイン1を実行します

他の人の日付プラグインが針をこすらないので、状況を確認して、すべてのアクションと効果を改善しようとしています。今日は、レンダリングロジックのみが完了し、次のイベントが実行されます。毎日また来ます。

現在の効果
ここに画像の説明を挿入します

コード部分

*{
    
    
	margin: 0px;
	padding: 0px;
}
.rel{
    
    
	width: 210px;
	height: 210px;
}
.item{
    
    
	font-size: 12px;
	width: 30px;
	height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	float:left;
	color: black;
}
.item.head{
    
    
	background-color: gray;
	color: white;
}
.item.prev,.item.next{
    
    
	color: lightgray;
}
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>做日期插件</title>
		<script src="js/jquery-3.4.1.min.js"></script>
		<script src="js/zrqcj.js"></script>
		<link href="css/zrqcj.css" type="text/css" rel="stylesheet" />
		<style>
			#div{
     
     
				border: 1px solid lightgray;
				margin: 20px auto;
			}
		</style>
	</head>
	<body>
		<div id="div"></div>
	</body>
</html>
<script>
	var temp = zrqcj("div");
	temp.load();
</script>

var zrqcj = function(id){
    
    
	var $id= $("#"+id);
	$id.addClass("rel");
	for(var i = 0;i<7;i++){
    
    
		var $item = $("<div class='item head'>周"+i+"</div>");
		$item.appendTo($id);
	}
	//首先知道当前时间
	var t =new Date();//时间对象
	var tt = t.getTime();//时间戳
	var week = t.getDay();//周
	var month = t.getMonth()+1;
	var day = t.getDate();
	//首先算出第一天的时间戳
	var tt0 = tt-1000*60*60*24*(day-1); 
	var t0 = new Date(tt0);
	var week0 = t0.getDay();
	var day0 = t0.getDate();
	var month0 = t0.getMonth(); 
	//然后分割出年月日,知道是周几,然后逐个往前往后填满预计的天
	//假如不是周末,那么就往前部上几天补到周末
	//中间计数有没有满6行也就是42条数据
	var index= 0;
	var tt1 = tt0;
	while(week0>0){
    
    
		tt1-=1000*60*60*24
		var t1= new Date(tt1);
		var day1 = t1.getDate();
		var $item = $("<div class='item prev'>"+day1+"</div>");
		$item.appendTo($id);
		week0--;
		index++;
	}
	var tt2 = tt0;
	var t2 = new Date(tt0);
	var month2 = t2.getMonth();
	var day2 = t2.getDate();
	//将这一个月的数据添加进来,判断条件就是月份变没变
	while(month2==month0){
    
    
		var $item = $("<div class='item'>"+day2+"</div>");
		$item.appendTo($id);
		tt2+=1000*60*60*24;
		t2 = new Date(tt2);
		month2 = t2.getMonth();
		day2 = t2.getDate();
		index++;
	}
	while(index<35){
    
    
		var $item = $("<div class='item next'>"+day2+"</div>");
		$item.appendTo($id);
		tt2+=1000*60*60*24;
		t2 = new Date(tt2);
		month2 = t2.getMonth();
		day2 = t2.getDate();
		index++;
	}
	console.log(index)
	return{
    
    
		$id:$id,
		load:function(){
    
    
			
		}
	}
}

アイデアはすべてjsのコメントにあります、粉々になった睡眠〜

  • ここでの考え方は、アルゴリズムにうるう年をカウントさせないことです。データ処理を完了するために直接加算および減算できます。タイムスタンプの概念を理解する必要があります。
  • 私は最初にそれを理解しました
  • 明日は、日付と年を切り替える機能を作り、このdomにフォーカスを合わせて入力ボックスにバインドし、プラグインを選択する義姉になります。
  • 次に、コールバックに入れるアクションを確認し、形式を標準化してから、完成品を表示します

おすすめ

転載: blog.csdn.net/weixin_44142582/article/details/113873629