2012-01-07 11 views
1

私はこのjqueryスクリプトをオンラインで見つけて少しカスタマイズする必要があります。それがするのは、マゼンタの垂直メニューにアコーディオン効果があることです。それは最初のカテゴリのためだけにそうし、それを訪問することを許可しません。私はそれを保ちたいだけでなく、同じスタイルで下位のカテゴリを開くことも許可しますが、クリックしたときに適切なページに移動させるようにします。私はそれが理にかなったことを望む!ここでjqueryスクリプトのカスタマイズ。 magentoのアコーディオンスタイルの垂直メニュー

はスクリプトです:

// 
// this script was written by Ben Frain - more info at http://www.benfrain.com 
// 
jQuery(document).ready(function(){ 
    jQuery('ul#vertnav > li > ul') 
    .click(function(e){ 
     e.stopPropagation(); 
    }) 
    .hide(); 



//this section below prevents the first level links being followed. 
    jQuery('ul#vertnav > li').click(function(event) { 
    event.preventDefault(); 
}); 

    jQuery('ul#vertnav > li, ul#vertnav > li > ul > li').click(function(){ 
    var selfClick = jQuery(this).find('ul:first').is(':visible'); 
    if(!selfClick) { 
     jQuery(this) 
     .parent() 
     .find('> li ul:visible') 
     .slideToggle(); 

    } 

    jQuery(this) 
     .find('ul:first') 
     .stop(true, true) 
     .slideToggle(); 

    }); 

    //this section make the nereast ul section to the link show 
    var url = window.location.toString() // this will return http://mydomain.com/pagename.html?query=xxxxxx 


    // this bit adds a class to the active section for CSS 
    jQuery('ul#vertnav > li a').each(function(){ 
     var myHref= jQuery(this).attr('href'); 
     if(url.match(myHref)) { 
      jQuery(this).addClass('activeClassNameForCSSHighlight') 
      jQuery(this).closest('ul').show(); 
     } 
}); 

}); 

は、任意の助けてくれてありがとう。

+0

[jsFiddle](http://jsfiddle.net/)を作成してください。 –

+0

マゼンタのjsフィドルは難しいようです。 – roselan

+0

このリンクを使用してください[垂直アコーディオンメニュー](http://www.magentocommerce.com/wiki/4_-_themes_and_template_customization/navigation/magento_vertical_accordion_menu_using_scriptaculous) –

答えて

1

それが起こる

jQuery('ul#vertnav').find('li > ul') 

によって

jQuery('ul#vertnav > li > ul') 

を交換してください。

となるはずです。 this fiddle

EDITチェック:私のバイオリンでを、私は1つをクリックしたときに「その他」のメニューを隠すためのビットにロジックを変更しなかった、と(パフォーマンス上の理由から)以上の変数の代わりに、セレクタを使用していました。

+0

助けてくれてありがとう、ありがとうございましたが、今は2番目のメニューがまったく開きません。 – Anthony

+0

ちょうどそれを変更しました;) – roselan

+0

これで、ルート内のカテゴリをクリックすると、アコーディオンが閉じられます。ヘルプは高く評価されています! – Anthony

関連する問題