JSFiddle - React, Tailwind, and code Playground
by wimp9487
HTML
<div class="container" id="contain">
<input class="inputvalue"/>
<select onchange="importance()" class="task">
<option class="normal" value="normal">一般</option>
<option class="important" value="important">重要</option>
<option class="urgent" value="urgent">緊急</option>
</select>
<button id='addbtn' 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-important">
<span class="todolistspan-important">倒垃圾</span>
<button onClick="deletebtn()" class="deletebtn-important">刪除</button>
</li>
<li class="todoistli-urgent">
<span class="todolistspan-urgent">繳電話費</span>
<button onClick="deletebtn()" class="deletebtn-urgent">刪除</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;
}
.container-important {
background-color:orange;
display:flex;
justify-content:space-between;
padding:10px 10px;
width:300px;
height:25px;
border-radius:10px;
margin: 30px auto;
}
.container-urgent {
background-color:red;
display:flex;
justify-content:space-between;
padding:10px 10px;
width:300px;
height:25px;
border-radius:10px;
margin: 30px auto;
}
.inputvalue {
width:180px;
border-radius:10px;
}
.add {
border:none;
background-color:#80ffff;
font-size: 15px;
margin:1px auto;
position: relative;
left:10px;
}
.add:hover {
color: white;
}
.add-important {
border:none;
background-color:orange;
font-size: 15px;
margin:1px auto;
position: relative;
left:10px;
}
.add-important:hover {
color: white;
}
.add-urgent {
border:none;
background-color:red;
font-size: 15px;
margin:1px auto;
position: relative;
left:10px;
}
.add-urgent:hover {
color: white;
}
.todolistul {
margin-top: 20px;
background-color: #80ffff;
margin: 10px auto;
width:300px;
border-radius: 8px;
padding: 0 10px 10px 10px;
}
.todoistli-important {
background-color:orange;
border-radius:5px;
height:25px;
margin:10px auto;
display:flex;
justify-content: space-between;
}
.todoistli-urgent {
background-color:red;
border-radius:5px;
height:25px;
margin:10px auto;
display:flex;
justify-content: space-between;
}
.todoistli {
background-color:white;
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;
}
.deletebtn {
border:none;
background-color:white;
font-size: 15px;
}
.deletebtn:hover {
color:...
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');
const select = document.querySelector(".task");
ul.append(li);
li.append(span);
li.append(deletebutton);
span.textContent = inputvalue;
deletebutton.textContent = '刪除';
deletebutton.onclick = deletebtn;
if (select.value === 'important') {
span.classList.add('todolistspan-important');
li.classList.add('todoistli-important');
deletebutton.classList.add('deletebtn-important');
} else if (select.value === 'urgent') {
span.classList.add('todolistspan-urgent');
li.classList.add('todoistli-urgent');
deletebutton.classList.add('deletebtn-urgent');
} else {
span.classList.add('todolistspan');
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) {
const selectclassName = item.children[0].className;
if (selectclassName == 'todolistspan-urgent') {
if (item.children[0].textContent === "代辦事項") { continue; }
text = text + num.toString() + '.**' + item.children[0].textContent +'**' + ` `;
} else if (selectclassName == 'todolistspan-important') {
if (item.children[0].textContent === "代辦事項") { continue; }
text = text + num.toString() + '.*' + item.children[0].textContent +'*' + ` `;
} else {
if (item.children[0].textContent === "代辦事項") { continue; }
text = text + num.toString() + '.' + item.children[0].textContent + ` `;
}
num = num + 1;
}
alert('今日待辦:' + text);
}
const importance = () => {
const taskvalue = document.querySelector(".task").value;
const add =...