6

我正在学习jquery,我想要一个效果:首先单击,向下滑动div#ccc并将链接类更改为'aaa';再次单击,向上滑动 div#ccc 并将链接类更改回“bbb”。现在滑块向下可以工作,但 removeClass,addClass 不起作用。如何修改使两个效果完美地工作?谢谢。

<script type="text/javascript" src="jquery.js"></script> 
<script type="text/javascript">
jQuery(document).ready(function(){              
$("#click").click(function() {
    $("#ccc").slideDown('fast').show();
    $(this).removeClass('bbb').addClass('aaa');
});
$("#click").click(function() {
    $("#ccc").slideDown('fast').hide();
    $(this).removeClass('aaa').addClass('bbb');
});
});
</script>
<style>
#ccc{display:none;}
</style>
<div id="click" class="bbb">click</div>
<div id="ccc">hello world</div>
4

3 回答 3

6

使用切换而不是显示/隐藏和切换类而不是添加/删除,并合并为单击事件。像这样的东西(未经测试,可能不起作用):

$("#click").click(function() {
    $("#ccc").toggle().animate();
    $(this).toggleClass('bbb aaa');
});
于 2011-05-19T21:42:10.243 回答
5

您需要使用单个切换事件。您设置了两次点击事件,这将不起作用。

jsfiddle

于 2011-05-19T21:39:37.967 回答
1

您正在寻找切换事件,它会出现。

$(document).ready(function () {
    $('div#click').toggle(
        function () {
            $('div#ccc').slideDown('fast').show();
            $('div#click').removeClass('bbb').addClass('aaa');
        },
        function () {
            $('div#ccc').slideDown('fast').hide();
            $('div#click').removeClass('aaa').addClass('bbb');
        });
    });
于 2011-05-19T21:43:14.610 回答