实现h5、css3便签列表如下所示,要求第一次打开便签页面时,判断localStorage是否存储有便签数据,便签本地存储可以认为存储在localStorage['note'],若localStorage['note']没有数据先通过js将便签数组数据存储到localStorage['note'],若存在数据,则从localStorage取出数据渲染到页面上,
时间: 2024-02-22 21:55:46 浏览: 81
好的,这是一个比较常见的前端任务,我可以给你一个简单的实现思路:
1. 首先在HTML页面上创建一个用于展示便签的容器,比如一个`<ul>`元素。
2. 使用JavaScript代码判断localStorage中是否已经存储了便签数据,如果没有则创建一个空数组,并将其存储到localStorage中。
```javascript
let notes = JSON.parse(localStorage.getItem('note'));
if (!notes) {
notes = [];
localStorage.setItem('note', JSON.stringify(notes));
}
```
3. 创建一个函数用于将便签数据渲染到页面上,这个函数可以接受一个数组参数,然后遍历数组,为每个便签创建一个`<li>`元素,将便签内容作为元素的文本节点,然后将该元素添加到容器中。
```javascript
function renderNotes(notes) {
const container = document.querySelector('#notes-container');
container.innerHTML = '';
notes.forEach(note => {
const li = document.createElement('li');
li.textContent = note;
container.appendChild(li);
});
}
```
4. 在页面加载完成后调用该函数,将localStorage中存储的便签数据渲染到页面上。
```javascript
document.addEventListener('DOMContentLoaded', () => {
const notes = JSON.parse(localStorage.getItem('note'));
renderNotes(notes);
});
```
5. 最后,为页面上的添加新便签按钮添加一个点击事件处理函数,该函数可以获取用户输入的便签内容,将其添加到localStorage中,并重新渲染页面。
```javascript
const addButton = document.querySelector('#add-note-button');
addButton.addEventListener('click', () => {
const input = document.querySelector('#new-note-input');
const notes = JSON.parse(localStorage.getItem('note'));
notes.push(input.value);
localStorage.setItem('note', JSON.stringify(notes));
renderNotes(notes);
input.value = '';
});
```
以上就是一个简单的实现思路,你可以根据自己的需求进行修改和扩展。
阅读全文