gpt4 book ai didi

javascript - 使用 css 和 jQuery 实现按钮

转载 作者:行者123 更新时间:2023-12-02 01:29:40 25 4
gpt4 key购买 nike

我是一个完全的初学者。

我正在尝试实现两个按钮,只需单击一下即可更改颜色(绿色到蓝色)(一旦实现完成,将其集成到实际网站中)。

按钮需要执行以下操作:

  1. 两个按钮最初都是绿色的。单击按钮后,它的颜色应更改为蓝色。

  2. 第二次单击同一按钮后,它应该恢复到原来的颜色,即绿色。

  3. 两个按钮中一次只能有一个可以是蓝色的。这意味着一旦用户在单击按钮 1 后单击按钮 2,按钮 1 应该变回绿色,按钮 2 变回蓝色。

到目前为止,我可以实现第一个和第三个,但不能实现中间的。

以下是必要的代码:

$(document).ready(function () {

$('#btn1').click(function(){
$('.btn').css('background-color', 'green');
$(this).css('background-color', 'blue');

})

$('#btn2').click(function(){
$('.btn').css('background-color', 'green');
$(this).css('background-color', 'blue');
})


});
.btn {
background-color: green;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html lang="en">
<head>

<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="/styles.css">

<title>Document</title>
</head>
<body>
<button id = "btn1" class = "btn">Button</button>
<button id = "btn2" class = "btn">Button</button>
<!--<button id = "btn3" class = "btn" onclick="changeColor()">Button</button>
<button id = "btn4" class = "btn" onclick="changeColor()">Button</button> -->
<script src="/jquery-3.6.1.min.js"></script>
<script src="/index.js"></script>
</body>

</html>

最佳答案

要执行您需要的操作,您可以在单击的元素上切换一个类,将其背景设置为蓝色。同时该类将从所有其他按钮中删除。

还可以通过使用绑定(bind)到所有 .btn 元素的单个事件处理程序来简化代码,而不是为每个 id 使用单独的事件处理程序。

jQuery($ => {
let $btns = $('.btn').on('click', e => {
let $btn = $(e.target).toggleClass('clicked');
$btns.not($btn).removeClass('clicked');
});
});
.btn {
background-color: green;
}

.btn.clicked {
background-color: blue;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="btn">Button</button>
<button class="btn">Button</button>

关于javascript - 使用 css 和 jQuery 实现按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73619252/

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