1

这是我正在使用的代码

$(document).ready(function(){
        $('#slickbox').hide();
        // toggles the slickbox on clicking the noted link
        $('a#slick-show').click(function() {
            $('#slickbox').show('slow');
            return false;
        });

        // hides the slickbox on clicking the noted link

        $('a#slick-hide').click(function() {
            $('#slickbox').hide('fast');
            return false;
        });
        // toggles the slickbox on clicking the noted link

        $('a#slick-toggle').click(function() {
            $('#slickbox').toggle(400);
            return false;
        });
    });

这是HTML代码:

<div id="slickbox"> BLARGH</div>
<a href="#" id="slick-show">Show</a>
<a href="#" id="slick-hide">hide</a>
<a href="#" id="slick-toggle">toggle</a>

显示和隐藏工作得非常好。浏览器打开时 Blargh 被隐藏,我可以显示和隐藏它,但单击链接。我的问题是,当我单击切换时,如果短暂滑动打开以显示 blargh 然后滑动关闭。我可以随意点击它,它做同样的事情。如何让它保持显示,然后再次单击它以隐藏它?

4

2 回答 2

2
$('a#slick-toggle').click(function() {
    $('#slickbox').is(":visible") ? $('#slickbox').hide("fast") : $('#slickbox').show("slow");
    return false;
});

或者您可以触发显示/隐藏绑定的点击,这样您就不必更改a#slick-toggle如果您决定更改动画的实现:

$('a#slick-toggle').click(function() {
    $('#slickbox').is(":visible") ? $('a#slick-hide').trigger("click") : $('a#slick-show').trigger("click");
    return false;
});
于 2009-06-24T20:46:49.253 回答
0
$('a#slick-toggle').toggle(function() {
            $('#slickbox').show();
            return false;
        }, function() {
            $('#slickbox').hide();
        });
于 2009-06-24T20:48:48.220 回答