2010-12-13 15 views
0

Ich erstelle ein Akkordeon für WordPress und ich kann nicht scheinen, was ich falsch mache.Erstellen Sie ein Akkordeon für WordPress mit Jquery, brauchen Hilfe!

Letztendlich versuche ich, die untergeordneten Elemente zu verbergen, und wenn der Elternteil aktiviert wurde, wird das Kind angezeigt.

JS:

<script> 
    $(document).ready(function() { //hide child page 
     $('#content ul.menu ul li').hide(); 
     //when navigate to a child page show all pages 
     $('#content ul.menu li.current-menu-item').parent("ul").show(); 
     //show page list when toggle 
     $('#content ul.menu ul li.active ul').show(); 
     //show cerrent page's child page 
     $('#content ul.menu ul li.current-menu-item ul').show(); 

     $('#content .menu ul li').click(function() { 
      $(this).addClass("active"); 
      $(this).children('ul').slideToggle("slow"); 
     }); 
    }); 
</script> 

Der Standort: www.svadsi.info

Vielen Dank im Voraus.

+0

Was passiert oder passiert nicht? Erhalten Sie Fehler? –

+0

Haben Sie darüber nachgedacht, [jQueryUI] (http://jqueryui.com/demos/accordion/) zu verwenden? – mdarwi

+0

Ich bin nicht sicher, wie man es mit Wordpress umsetzt. – MLS1984

Antwort

1

Wordpress nicht immer mit jquery schön spielen.

Zuerst wollen Sie Ihren Code in

$(function() { 

statt

$(document).ready(function() { 

auch wickeln, würde ich empfehlen

.addClass('hidden'); 

mit und

removeClass('hidden'); 

anstelle von .hide(); und zeigen(); wenn es um das gleiche Problem geht.

Bitte fühlen Sie sich frei, Kommentare zu folgen, und ich werde Ihnen bei der Fehlersuche helfen.

+0

'$ (Handler)' ist äquivalent zu '$ (Dokument) .ready (Handler)' – Chris

+0

in der Tat, aber aus irgendeinem Grund habe ich WordPress mit einem und nicht dem anderen arbeiten. – jackreichert

0

Können Sie Ihr Problem bitte mehr erklären.

sollten Sie gefangen das Click-Ereignis auf li weil es Blase

$('#content .menu ul li').click(function(e) { 
     $(e).stopPropagation(); 
     $(this).addClass("active"); 
     $(this).children('ul').slideToggle("slow"); 
    });