Frage

Hier ist der Code, den ich mit

$(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;
        });
    });

Hier ist der HTML-Code:

<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>

anzeigen und ausblenden Arbeit völlig in Ordnung. Blargh ist verborgen, wenn der Browser öffnet und ich kann es zeigen und verstecken, aber die Links klicken. Mein Problem tho, ist, dass, wenn ich Toggle klicken, wenn kurz Dias offen blargh zu zeigen und gleitet dann schließt. Ich kann es klicken Sie so oft wie ich will, und es tut die gleiche Sache. Wie bekomme ich es gezeigt bleiben und es dann wieder klicken, um es zu verbergen?

War es hilfreich?

Lösung

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

oder Sie können die Klicks der Show / Hide Bindungen auslösen, und auf diese Weise würden Sie nicht die Umsetzung der a#slick-toggle ändern müssen, sollten Sie die Animationen ändern sich entscheiden:

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

Andere Tipps

$('a#slick-toggle').toggle(function() {
            $('#slickbox').show();
            return false;
        }, function() {
            $('#slickbox').hide();
        });
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top