有多个按钮,点击一个变色,点击另一个变色,原来的恢复颜色的方法

本文介绍了一种使用HTML、CSS和JavaScript实现按钮点击后变色,并在再次点击其他按钮时恢复原按钮颜色的方法。通过jQuery遍历按钮类,利用addClass和removeClass实现样式切换。
摘要由CSDN通过智能技术生成

之前用到网上说的fouce也可行,但是失去焦点后,点击别处按钮也会恢复颜色,所以这样也行不通。后来找了好久,这个方法终于行的通。

html代码:

我是在table中加的按钮submit。

<table> 
<tr>
                <td>
                    <input class="flag hq_hy" type="submit" onclick="dj(this);" value="行业" />
                </td>
                <td>
                    <input class="flag hq_zsh" type="submit" onclick="dj(this);" value="指数" />
                </td>
                <td>
                    <input class="flag hq_hb" type="submit" onclick="dj(this);" value="货币" />
                </td>
                <td>
                    <input class="flag hq_jyyc" type="submit" onclick="dj(this);" value="交易异常" />
                </td>
                <td>
                    <input class="flag hq_byb" type="submit" onclick="dj(this);" value="比一比" />
                </td>
                <td>
                    <input class="flag hq_lrcl" type="submit" style="" onclick="dj(this);" value="ETF两融策略" />
                </td>
            </tr>
        </table>

样式<style>

<style>
.hq_hy:hover, .hq_zsh:hover, .hq_hb:hover, .hq_jyyc:hover, .hq_byb:hover, .hq_lrcl:hover
  /*鼠标移上去变色(不点击)*/
{ color: #fff; border-color: #b1b0b0; background: #b1b0b0; border: none; } .start { cursor: pointer; } .end { cursor: pointer; color: #fff; background: #b1b0b0; border: none; } </style>

其中hover是鼠标移上去的颜色。

js代码

<script type="text/javascript">
    $(function () {
    //加载事件
        var collection = $(".flag");
        $.each(collection, function () {
            $(this).addClass("start");
        });
    });
    //单击事件
    function dj(dom) {
        var collection = $(".flag");
        $.each(collection, function () {
            $(this).removeClass("end");
            $(this).addClass("start");
        });
        $(dom).removeClass("start");
        $(dom).addClass("end");
    }
</script>

这样点击一个按钮变色,再点击另一个按钮原来的按钮就恢复颜色。

转载于:https://www.cnblogs.com/why-love-study/p/6025383.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值