JSFiddle - React, Tailwind, and code Playground
by wimp9487
HTML
<div class="container">
<input class="inputvalue"/>
<button class="add" onClick="addbtn()">
新增
</button>
</div>
<ul class="todolistul">
<li class="list-title">
<span class="todolistspan">代辦事項</span>
<button class="export" onClick="exportbtn()">
匯出</button>
</li>
<li class="todoistli">
<span class="todolistspan">倒垃圾</span>
<button onClick="deletebtn()" class="deletebtn">刪除</button>
</li>
<li class="todoistli">
<span class="todolistspan">繳電話費</span>
<button onClick="deletebtn()" class="deletebtn">刪除</button>
</li>
<li class="todoistli">
<span class="todolistspan">採買本週食材</span>
<button onClick="deletebtn()" class="deletebtn">刪除</button>
</li>
</ul>
CSS
* {
list-style:none;
}
.container {
background-color:#80ffff;
display:flex;
justify-content:space-between;
padding:10px 10px;
width:300px;
height:25px;
border-radius:10px;
margin: 30px auto;
}
.inputvalue {
width:230px;
border-radius:10px;
}
.add {
border:none;
background-color:#80ffff;
font-size: 15px;
margin:1px auto;
}
.add:hover {
color: white;
}
.todolistul {
margin-top: 20px;
background-color: #80ffff;
margin: 10px auto;
width:300px;
border-radius: 8px;
padding: 0 10px 10px 10px;
}
.todoistli {
background-color:orange;
border-radius:5px;
height:25px;
margin:10px auto;
display:flex;
justify-content: space-between;
}
.list-title {
text-align: center;
position: relative;
left:20px;
padding: 8px 0;
}
.todolistspan {
font-weight: bold;
}
.deletebtn {
border:none;
background-color:orange;
font-size: 15px;
margin:1px ;
}
.deletebtn:hover {
color: white;
}
.export {
position: relative;
left:75px;
cursor: pointer;
background-color: #80ffff;
border:none;
font-size: 15px;
}
.export:hover {
color:white;
font-size: 15px;
}
JavaScript
const addbtn = () => {
const inputvalue = document.querySelector(".inputvalue").value;
const ul = document.querySelector(".todolistul");
const li = document.createElement('li');
const span = document.createElement('span');
const deletebutton = document.createElement('button');
ul.append(li);
li.append(span);
li.append(deletebutton);
span.textContent = inputvalue;
deletebutton.textContent = '刪除';
deletebutton.onclick = deletebtn;
li.classList.add('todoistli');
deletebutton.classList.add('deletebtn');
document.querySelector(".inputvalue").value = '';
};
const deletebtn = () => {
event.target.parentElement.remove();
}
const exportbtn = () => {
const list = document.querySelector('.todolistul').children;
let text = '';
let num = 1;
for (let item of list) {
if (item.children[0].textContent === "代辦事項") { continue; }
text = text + num.toString() + '.' + item.children[0].textContent + ` `;
num = num + 1;
}
alert('今日待辦:' + text);
}