gpt4 book ai didi

javascript - Jquery 到 JavaScript : Toggle class on click

转载 作者:行者123 更新时间:2023-12-01 05:12:22 26 4
gpt4 key购买 nike

$(document).ready(function() {

$(".show_on_hover").click(function() {
$(".show_on_hover.hover").not(this).removeClass("hover");
$(this).toggleClass("hover");
});

});

任何聪明的 JavaScript 人都知道如何将上面的内容编写为纯 JavaScript 吗?预先感谢:)

这是预期的行为:https://jsfiddle.net/kevadamson/fr8usm19/

最佳答案

这是您的原件(使用 jQuery):

$(document).ready(function() {

$(".show_on_hover").click(function() {
$(".show_on_hover.hover").not(this).removeClass("hover");
$(this).toggleClass("hover");
});

});
div {
display: inline-block;
width: 100px;
height: 100px;
margin: 3px;
background-color: rgb(255, 0, 0);
cursor: pointer;
}

.show_on_hover {
opacity: 0.3;
}

.show_on_hover:hover,
.show_on_hover.hover {
opacity: 1;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<div class="show_on_hover"></div>
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>

这里是相同的设置,只是将 jQuery 转换为 javascript:

// Equivalent to $(".show_on_hover")
let showOnHoverDivs = [...document.getElementsByClassName('show_on_hover')];

const showHideDivs = (event) => {

for (let showOnHoverDiv of showOnHoverDivs) {

// Equivalent to .not(this)
if (showOnHoverDiv === event.target) continue;

// Equivalent to .removeClass("hover")
showOnHoverDiv.classList.remove('hover');
}

// Equivalent to $(this).toggleClass("hover")
event.target.classList.toggle('hover');
}

// Equivalent to $(".show_on_hover").click(function() { [...] }
for (let showOnHoverDiv of showOnHoverDivs) {
showOnHoverDiv.addEventListener('click', showHideDivs, false);
}
div {
display: inline-block;
width: 100px;
height: 100px;
margin: 3px;
background-color: rgb(255, 0, 0);
cursor: pointer;
}

.show_on_hover {
opacity: 0.3;
}

.show_on_hover:hover,
.show_on_hover.hover {
opacity: 1;
}
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>
<div class="show_on_hover"></div>

关于javascript - Jquery 到 JavaScript : Toggle class on click,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60410742/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com