js开发的日历组件如何引入需要的html页面呢?

javascript 复制代码
<!DOCTYPE html>
<html>

<head>
	<title>日历页面</title>
	<meta charset="utf-8">
	<meta name="viewport" content="width=device-width, initial-scale=1">
	<link rel="stylesheet" href="https://cdn.staticfile.net/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
	<link rel="stylesheet" href="./dialoge.css">
	<script src="https://cdn.staticfile.net/jquery/3.2.1/jquery.min.js"></script>
	<script src="./dialoge.js"></script>
	<!-- <script src="https://cdn.staticfile.net/popper.js/1.15.0/umd/popper.min.js"></script> -->
	<!-- <script src="https://cdn.staticfile.net/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script> -->
	<style type="text/css">
		.today {
			width: 500px;
			text-align: center;
			margin-top: 10px;
			margin-bottom: 10px;
			/* border: solid 1px red; */
		}

		#container {
			position: relative;
		}
	</style>
</head>

<body>
	<div class="today" id="today">
		今天是那天?
		<input type="text" id="myInput" value="ceshi" onblur="handleBlur()">
	</div>
</body>
<script type="text/javascript">


	function onload(params) {
		// 获取input元素
		var input = document.getElementById('myInput');

		// 添加聚焦事件监听器
		input.addEventListener('focus', function () {
			let div = renderNode()
			console.log('Input is focused!');
			console.log(div);
			var myInput = document.getElementById('today');
			myInput.appendChild(div);
		});

	}
	function handleBlur(params) {
		var parentDiv = document.getElementById('today');
		var childDiv = document.querySelector('.calendar-box');
		if (childDiv && childDiv.parentNode) {
			parentDiv.removeChild(childDiv);
		}
	}
	onload()
</script>

</html>

这是需要引入的html页面

然后还需要一个js函数。这个函数,负责渲染生成dom节点

javascript 复制代码
function renderNode() {
   let calendar = document.createElement('div')
   calendar.className = 'calendar-box'
   return calendar
}

然后还要有样式文件

css 复制代码
.calendar-box{
    width: 400px;
    height: 400px;
    border: solid 1px red;
    background-color: gray;
    position: absolute;
    top: 50px;
    left: 50px;
}


/* #floating-div {
    position: absolute;
    top: 0;
    left: 0;
} */
复制代码
<link rel="stylesheet" href="./dialoge.css">
<script src="./dialoge.js"></script>

把生成的文件,在需要日历的页面引入即可。

相当于react中,有类组件和函数组件,这里就相当于函数组件,用函数生成的组件,就是函数生成的dom。这样理解就知道如何引入了。

相关推荐
kyriewen11 小时前
我用 Codex 重写了同事维护三年的代码,他没说谢谢——而是找了领导
前端·javascript·ai编程
铁皮饭盒11 小时前
S3已成为文件存储标准,阿里/腾讯/华为云都支持,Bun率先原生支持
前端·javascript·后端
Cobyte11 小时前
22.Vue Vapor 组件 props 的实现
前端·javascript·vue.js
浮生望13 小时前
JS字符串与回文算法:从包装类到双指针的面试进阶之路
javascript·算法
疯狂的魔鬼13 小时前
一套 Schema 驱动四视图:记 useCrudSchemas 的设计与实践
前端·javascript·typescript
weedsfly14 小时前
栈和堆:JavaScript 内存的“旅馆”和“仓库”
前端·javascript·面试
半个落月14 小时前
JavaScript 字符串面试题:反转、回文与双指针
javascript
独泪了无痕15 小时前
Lodash-JavaScript的实用工具库
前端·javascript
有趣的老凌15 小时前
用 Vibe Coding 搭了一个完整小程序「一定能成」
前端·javascript·后端
山河木马1 天前
矩阵专题3-怎么创建投影矩阵(uProjectionMatrix)
javascript·webgl·计算机图形学