用js做一个美肤堂日期下拉菜单
时间: 2024-05-29 15:04:45 浏览: 10
以下是一个用js实现的美肤堂日期下拉菜单的示例:
HTML代码:
```
<div class="date-selector">
<input type="text" class="date-input" placeholder="请选择日期">
<ul class="date-list">
<li>今天</li>
<li>昨天</li>
<li>前天</li>
</ul>
</div>
```
CSS代码:
```
.date-selector {
position: relative;
display: inline-block;
}
.date-input {
width: 120px;
height: 30px;
border: 1px solid #ccc;
padding: 5px 10px;
font-size: 14px;
color: #333;
}
.date-list {
position: absolute;
top: 40px;
left: 0;
z-index: 999;
width: 120px;
max-height: 200px;
overflow-y: auto;
border: 1px solid #ccc;
padding: 5px 0;
background-color: #fff;
display: none;
}
.date-list li {
padding: 5px 10px;
font-size: 14px;
color: #333;
cursor: pointer;
}
.date-list li:hover {
background-color: #f2f2f2;
}
.date-list li.selected {
background-color: #f2f2f2;
}
```
JS代码:
```
// 获取日期选择器元素
const dateSelector = document.querySelector('.date-selector');
// 获取日期输入框元素
const dateInput = dateSelector.querySelector('.date-input');
// 获取日期列表元素
const dateList = dateSelector.querySelector('.date-list');
// 获取日期列表项元素
const dateItems = dateSelector.querySelectorAll('.date-list li');
// 点击日期输入框显示日期列表
dateInput.addEventListener('click', function() {
dateList.style.display = 'block';
});
// 点击日期列表项选中日期并隐藏日期列表
dateItems.forEach(function(item) {
item.addEventListener('click', function() {
// 获取选中的日期文本
const selectedDate = this.innerText;
// 设置选中的日期文本到日期输入框
dateInput.value = selectedDate;
// 取消之前选中的日期样式
dateItems.forEach(function(item) {
item.classList.remove('selected');
});
// 设置选中的日期样式
this.classList.add('selected');
// 隐藏日期列表
dateList.style.display = 'none';
});
});
// 点击日期选择器以外的区域隐藏日期列表
document.addEventListener('click', function(event) {
if (!dateSelector.contains(event.target)) {
dateList.style.display = 'none';
}
});
```
该示例实现了点击日期输入框显示日期列表,点击日期列表项选中日期并设置到日期输入框,点击日期选择器以外的区域隐藏日期列表的功能。将HTML、CSS、JS代码整合在一起,即可得到一个美肤堂日期下拉菜单。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)