webForumDet fria alternativet

jquery: Bara toggla en åt gången

2 svar · 1 080 visningar · startad av silfver

silfverMedlem sedan apr. 200312 679 inlägg
#1

Jag har gjort en liten togglefunktion som fungerar sådär. Den togglar inte jättesnyggt + att man kan klicka på två länkar snabbt för att visa båda divarna.

Kan man på något bra sätt göra så att man bara kan toggla en av divvarna? Vill inte visa flera samtidigt.

    $(document).ready(function () {
        // hides the boxes as soon as the DOM is ready
        function showHide() {
            $('#tjansterIT-ledning').hide();
            $('#tjansterApplicationManagement').hide();
        }

        showHide()

        // toggles the slickbox on clicking the noted link  
        $('#toggle-tjansterIT-ledning').click(function () {
            showHide()
            $('#tjansterIT-ledning').toggle(400);
            return false;
        });
        // toggles the slickbox on clicking the noted link  
        $('#toggle-tjansterApplicationManagement').click(function () {
            showHide()
            $('#tjansterApplicationManagement').toggle(400);
            return false;
        });
    });

Ps. Jag har beskurit min kod en aning. Det är sju divar i den totala.

voigtann1Medlem sedan juni 20019 519 inlägg
#2

Hur ser HTML markupen ut? Känns lite onödigt att göra mer eller mindra samma kod om och om igen... borde kunna exempelvis använda dig av a-element för #toggle-tjansterIT-ledning och #toggle-tjansterApplicationManagement och sen kontrollera du om den är öppen eller inte, om inte så stäng alla som är öppna och öppnar det target du har.

är i stil med: http://jsbin.com/olezib/edit#javascript,html,live du är ute efter?

silfverMedlem sedan apr. 200312 679 inlägg
#3

voigtann1 skrev:

Hur ser HTML markupen ut? Känns lite onödigt att göra mer eller mindra samma kod om och om igen... borde kunna exempelvis använda dig av a-element för #toggle-tjansterIT-ledning och #toggle-tjansterApplicationManagement och sen kontrollera du om den är öppen eller inte, om inte så stäng alla som är öppna och öppnar det target du har.

är i stil med: http://jsbin.com/olezib/edit#javascript,html,live du är ute efter?

Sover du med jquery-bibeln under kudden? Du är ju ett geni!

Jag ska verkligen försöka läsa din kod och förstå den, den här gången. Otroligt clean!

Tack. :bire

135 ms totalt · 3 externa anrop · v20260731065814-full.cf67ef55
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)