jquery 使用 id 来切换按钮的图像

标签 jquery css

我有一个 jquery 函数。 单击 div class='open',它将打开另一个 session ,按钮将更改图像。 我为 css 切换 id

然而,当我再次点击它时,我需要将按钮的图像改回来。

    <script type="text/javascript">
        $(document).ready(function(){
                $(".content").hide();       
                $(".open1").click(function(){
                    $(this).next().slideToggle(400);
                                $('#btn_01').attr('id','btn_01_on');
                });
        });

</script>

<style>
#btn_01{width:510px; height:109px; background:url('images/btn_01_on.png') no-repeat;}
    #btn_01:hover{width:510px; height:109px; background:url('images/btn_01_over.png') no-repeat;}
    #btn_01_on{width:510px; height:109px; background:url('images/btn_01_over.png') no-repeat;}
</style)

最佳答案

切换 ID 当然不是最好的主意...您应该使用 on 类来修改显示。

<script type="text/javascript">
    $(document).ready(function(){
            $(".content").hide();       
            $(".open1").click(function(){
                $(this).next().slideToggle(400);
                var btn = $('#btn_01'), isOn = btn.hasClass('on');
                if(isOn) btn.removeClass('on') else btn.addClass('on');
            });
    });

</script>

<style>

    #btn_01{width:510px; height:109px; background:url('images/btn_01_on.png') no-repeat;}
    #btn_01:hover{width:510px; height:109px; background:url('images/btn_01_over.png') no-repeat;}
    #btn_01.on{width:510px; height:109px; background:url('images/btn_01_over.png') no-repeat;}
</style>

关于jquery 使用 id 来切换按钮的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14936543/

相关文章:

javascript - 如何动画 svg 路径填充 javascript 而不是 HTML

javascript - 如何阻止刷新浏览器时重置调整大小的 JavaScript 代码

php - Laravel 使用一处来定义 Controller 和 View 的颜色

javascript - 将 d3 力图的线放在前景中

html - 我可以阻止两个词分到不同的行并创建一个孤儿吗?

javascript - Google Analytics 无法在 Django 网站上运行

javascript - javascript中特色轮播 slider 的响应式设计

CSS 中的 JQuery 更改不会保留

css - 在 scss 的计算中使用媒体查询

javascript - 如何在使另一个 div 不可滚动的同时在 div 内滚动 div