サイドメニューをアコーディオン化する

SharePoint2010のサイドメニューをアコーディオン化してしまうスクリプトを作ってみた。

基本的には使わないほうがいいと思うけど、管理されたメタデータのツリーが画面からはみ出てしまう場合、ちょっと小っちゃくなってくれると使いやすくなります。
 
2012/02/15 追記
SP改 by ANK(@SharePoint_X)さんからアドバイスツイートがありましたので、変更しました。
jQuery(document).Ready(~)では動かないことがあるので、_spBodyOnLoadFunctionNames.push("~");を使うほうがいいらしいです。
このコマンドの仕様が見当たらなかったのですが、みなさんこの記述にしていますね。
それにしても、セレクターが美しくない・・・

<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
  _spBodyOnLoadFunctionNames.push("AccordionMenu");
  function AccordionMenu(){
    jQuery('div.menu-vertical ul >li > ul').hide();
    jQuery('DIV.menu-vertical UL.root > LI').hover(
      function(){jQuery('ul:not(:animated)',this).slideDown(500)},
      function(){jQuery('ul',this).slideUp(1000)}
    );
  };
</script>
 
 
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.6.2.min.js"></script>
<script type="text/javascript">
  jQuery(function(){
    jQuery('div.menu-vertical ul >li > ul').hide();
    jQuery('DIV.menu-vertical UL.root > LI').hover(
      function(){jQuery('ul:not(:animated)',this).slideDown()},
      function(){jQuery('ul',this).slideUp()}
    );
  });
</script>


コメント

このブログの人気の投稿

SharePoint2010のカレンダーをカテゴリ別に色分けする

メールの整理

ガーデンライト買ったけど…