2016-03-30 5 views
1

Ich bin kein Programmierer, aber irgendwie geschafft, Div-Schaltflächen, die ein anderes div öffnet, wenn Sie klicken, aber ich kann nicht schaffen, so dass, wenn ich auf einen Knopf klicke, öffnet div und dann, wenn ich auf einen anderen Knopf klicke, öffnet sich div und verbirgt vorheriges div. Ich möchte es später in Joomla-Vorlage integrieren, aber wie ich jquery und alle Bemühungen mit, wenn nicht funktioniert, vielleicht jemand ist schlau als ich. Danke im Voraus. Ich platziere hier auch Arbeit Geige. fiddle example of my buttonsjavascript, div tasten mit if else

affter einige nützliche Antworten reeditiert ich meinen Code und schaffte es zu vereinfachen und die dritte Taste, jetzt mit zusätzlichen CSS-Klasse alles hinzugefügt ziemlich gut scheint, aber wenn ich es, wenn Schleife erscheint wieder als klicken geöffnet bereits gesch.

edited fiddle

$(document).ready(function() { 
$('#b1').click(function() { 
$('.bats').hide("slow"); 
$('#uch').toggle("slow"); 
}); 
$('#b2').click(function() { 
$('.bats').hide("slow"); 
$('#uch2').toggle("slow"); 
}); 
$('#b3').click(function() { 
$('.bats').hide("slow"); 
$('#uch3').toggle("slow"); 
}); 
}) 

Antwort

2

Sie hide('slow') auf der anderen uch Element auf Klick auf den Button aufrufen können. Versuchen Sie folgendes:

$('#b1').click(function() { 
    $('#uch').toggle("slow"); 
    $('#uch2').hide("slow"); 
}); 
$('#b2').click(function() { 
    $('#uch').hide("slow"); 
    $('#uch2').toggle("slow"); 
}); 

Working example

+0

ist Das funktioniert ziemlich gut thx. – elchinsolo

+0

Kein problem, froh zu helfen –

-1

Sie können eine Funktion schreiben, die in der Nähe der einen opend ist! Dann rufen Sie sie in Ihren Klick-Funktionen auf, bevor Sie die andere umschalten.

1

ID geändert Klasse

$(document).ready(function() { 
    $('.b1').click(function() { 
    $('.uch').hide(); 
    $(this).find('.uch').toggle("slow"); 
    }); 
}); 

https://jsfiddle.net/u28f6yeL/5/

+0

Aktualisieren meine antwort –

+0

auf diese weise verliere ich glatte animation und es schleifen, irgendwie nicht das, was ich wirklich wollte, aber ich cached idea thx – elchinsolo

0

Hier ist eine funktionierende Lösung für Ihr Problem: Ihre JQuery Code wie folgt ändern:

$(document).ready(function() { 
    $('#b1').click(function() { 
    if($('#uch2').css('display') != 'none'){ 
      $('#uch2').toggle("slow"); 
}; 
    $('#uch').toggle("slow"); 
    }); 
    $('#b2').click(function() { 
    if($('#uch').css('display') != 'none'){ 
      $('#uch').toggle("slow"); 
}; 
    $('#uch2').toggle("slow"); 
    }); 



}); 

hier ein JSFiddle