我正在嘗試將一個名為press的類添加到一個名為w的元素中。當用戶單擊包含類w的元素時,就會發生這種情況。然后我想在延遲 100 后洗掉班級新聞。所以這是我寫的代碼。
(簡而言之:我正在嘗試通過添加(然后在 100 毫秒后洗掉)按下的 CSS 類來使用 js 添加影片。)
但這不起作用,它的行為如下:
- 當我取消評論這部分時
setTimeout(foo(this.innerText), 100);,甚至document.querySelector("." this.innerText).classList.add("pressed");沒有被執行。
document.querySelector('.w').addEventListener("click",function () {
document.querySelector("." this.innerText).classList.add("pressed");
// setTimeout(foo(this.innerText), 100);
});
function foo(stringclass) {
document.querySelector("." stringclass).classList.remove("pressed");
console.log(stringclass);
}
任何人都可以幫我解決這個問題嗎?
HTML 代碼
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<title>Drum Kit</title>
<link rel="stylesheet" href="styles.css">
<link href="https://fonts.googleapis.com/css?family=Arvo" rel="stylesheet">
</head>
<body>
<h1 id="title">Drum ?? Kit</h1>
<div >
<button >w</button>
</div>
<script src="index.js" charset="utf-8"></script>
</body>
</html>
CSS 類
.pressed {
box-shadow: 0 15px 40px 0 #DBEDF3;
opacity: 0.5;
}
uj5u.com熱心網友回復:
setTimeout(foo(this.innerText), 100);立即執行foo。您需要傳遞函式本身。我相信你想要更接近的東西
document.querySelector('.w').addEventListener("click",function (e) { document.querySelector("." e.target.innerText).classList.add("pressed"); setTimeout(function() {foo(e.target.innerText)}, 100); });
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/463897.html
標籤:javascript 事件处理 超时 点击
上一篇:表格布局查詢
