728x90
for문
let tabs = document.querySelectorAll(".task-tabs div");
for (let i = 1; i < tabs.length; i++) {
tabs[i].addEventListener("click", function (event) {
filter(event);
});
}
foreach문
let menus = document.querySelectorAll(".menus button");
menus.forEach((menu) =>
menu.addEventListener("click", (event) => getNewsByTopic(event))
);
const getNewsByTopic = (event) => {
console.log("클림됨", event.target);
};
분석
let tabs = document.querySelectorAll(".task-tabs div");
for (let i = 1; i < tabs.length; i++) {
tabs[i].addEventListener("click", function (event) {filter(event);});
}
let menus = document.querySelectorAll(".menus button");
menus.forEach((menu) =>
menu.addEventListener("click", (event) => getNewsByTopic(event))
);
원본
let tabs = document.querySelectorAll(".task-tabs div");
for (let i = 1; i < tabs.length; i++) {
tabs[i].addEventListener("click", function (event) {
filter(event);
});
}
function filter(event) {
mode = event.target.id;
filterList = [];
console.log("filter 클림됨!", event.target.id);
if (mode == "all") {
render();
} else if (mode == "ongoing") {
for (let i = 0; i < taskList.length; i++) {
if (taskList[i].isCompleted == false) {
filterList.push(taskList[i]);
}
}
render();
} else if (mode == "done") {
for (let i = 0; i < taskList.length; i++) {
if (taskList[i].isCompleted == true) {
filterList.push(taskList[i]);
}
}
render();
}
}
'
let menus = document.querySelectorAll(".menus button");
menus.forEach((menu) =>
menu.addEventListener("click", (event) => getNewsByTopic(event))
);
const getNewsByTopic = (event) => {
console.log("클림됨", event.target);
};
const getNewsByTopic = async (event) => {
//console.log("클림됨", event.target.textContent);
let topic = event.target.textContent.toLowerCase();
let url = new URL(
`https://api.newscatcherapi.com/v2/latest_headlines?countries=KR&topic=${topic}&page_size=5`
);
//console.log("uuu", url);
let header = new Headers({
"x-api-key": "mq7AfahUuQLPwY4_WhXjc9YCjgQKkKz6KhZvMbEDthE",
});
let response = await fetch(url, { headers: header });
let data = await response.json();
news = data.articles;
render();
//console.log("토픽뉴스 데이터", data);
};
728x90
'Javascript > Javascript' 카테고리의 다른 글
[자바스크립트] how to set query in url javascript (0) | 2022.05.06 |
---|---|
자바스크립트 라이브러리 목록 (0) | 2022.05.03 |
[자바스크립트] Array.from( {length} 구문에서 {length}은 유사배열? (0) | 2022.04.27 |
[자바스크립트] 자료구조 큐,스택, 트리 구현 (0) | 2022.04.25 |
[자바스크립트] web api 불러오기 (0) | 2022.04.24 |