webForumDet fria alternativet

jquery: Bara toggla en åt gången

JavaScript

2 svar · 1 082 visningar · startad av silfver

Medlem sedan apr. 200312 679 inlägg
Frågan#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.

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

Medlem 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

252 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
122 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)