可以说是前面选项卡的一个延伸或者说是另一个实现方法,选项卡改变的是div,而简易日历改变的是div里的内容innerHTML首先先介绍一下innerHTML,是HTML和JS里最有用的东西。 innerHTML是什么? 栗子: var oDiv =...
可以说是前面选项卡的一个延伸或者说是另一个实现方法,选项卡改变的是div,而简易日历改变的是div里的内容
innerHTML
首先先介绍一下innerHTML,是HTML和JS里最有用的东西。
innerHTML是什么?
栗子:
var oDiv = document.getElementById('div1');
oDiv.innerHTML = "...";
oDiv.innerHTML代表什么?
代表div标签中间的内容,就是下面栗子中的 省略号内容。
<div id=div1>
...
</div>
说到这里就出现有意思的地方,既然innerHTML代表的是标签内的内容,那么就可以往里放HTML语句。
比如说上面的栗子:
oDiv.innerHTML = "<h1>标题1</h1>";
这里就相当于在div中添写了 <h1>标题1</h1> 这条HTML语句,打开审查元素会发现div块中确实添加了这条语句
<div id="div1">
<h1>标题1</h1>
</div>
言归正传
简易日历要实现的操作:
当鼠标移动到月份上时,月份的框的样式会改变,且底下的div内的文字会改变
参考前一篇的选项卡会发现基础原理差不多,主要是掌握怎么改变div的内容,这就用到了上面说的innerHTML,还有拼接符“+”
原理就是 现创建一个数组将要改变的内容存进去,再使用this.index读取数组。
详细代码
<script>
window.onload = function () {
const oTab = document.getElementById('tab');
const oLi = oTab.getElementsByTagName('li');
const oText = oTab.getElementsByTagName('div')[0];
const arr = [
"出去玩鸭!",
"不出去玩鸭!",
"上学鸭!",
"学习!",
"考试鸭!",
"放假鸭!",]
for (let i=0; i<oLi.length; i++) {
oLi[i].index = i;
oLi[i].onmouseover = function () {
for (let i=0; i<oLi.length; i++) {
oLi[i].className = '';
}
this.className = 'active';
oText.innerHTML = '<h2>' + (this.index + 1) + '月</h2><p>' + arr[this.index] + '</p>';
};
}
};
</script>
<body>
<div id="tab">
<ul>
<li class="active">
<h1>1</h1>
<p>JAN</p>
</li>
<li>
<h1>2</h1>
<p>FER</p>
</li>
<li>
<h1>3</h1>
<p>MAR</p>
</li>
<li>
<h1>4</h1>
<p>APR</p>
</li>
<li>
<h1>5</h1>
<p>MAY</p>
</li>
<li>
<h1>6</h1>
<p>TUN</p>
</li>
</ul>
<div id="text">
<h2>1月</h2>
<p>出去玩鸭!</p>
</div>
</div>
</body>
本文标题为:简易日历(innerHTML)
基础教程推荐
- Uncaught TypeError: Cannot read properties of undefined (reading ‘install‘)报错 2022-11-02
- 配置Chrome支持本地(file协议)的AJAX请求 2023-02-14
- 使用Ajax方法实现Form表单的提交及注意事项 2023-02-14
- VUE中实现跨域访问后台方法获取JSON数据 2023-10-08
- 解决ajax传过来的值后台接收不到的问题 2023-02-15
- Canvas生成海报文字居中 2022-10-29
- Ajax基础与登入教程 2023-01-31
- 通过抓取淘宝评论为例讲解Python爬取ajax动态生成的数据(经典) 2022-10-17
- 图文示例讲解useState与useReducer性能区别 2023-07-10
- 第3天:定义语言编码 2022-11-04