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

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>


0 件のコメント:

コメントを投稿

Viva ラーニングのSharePointコンテンツで既定の言語がまじめに動き出した?

相変わらず挙動が安定しないVivaラーニングさん。 既定の言語設定がまじめに仕事を始めたのかもしれません。 ちょっと確認したいことがあってラーニングを開くとコンテンツが一つだけになってしまいました。すべてのコンテンツが表示された状態から何も操作していないのに表示コンテンツ数が変わ...