- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PukiWikiの左メニューでonMouseOverでサブメニューを開き、onMouseOutで閉じる。)
PukiWikiの左メニューを改造する方法
このQ&Aのポイント
- PukiWikiの左メニューでサブメニューを開閉する方法について解説します。
- PukiWikiPlusを使用している場合、左メニューの項目が増えると長くなってしまうことがあります。そこで、常に表示する必要のない項目を折りたたむ方法をご紹介します。
- javascriptのプラグインを使用して、サブメニューをマウスオーバーで開き、マウスアウトで閉じるように調整することができます。具体的な手順やソースコードの一例を紹介します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
'rgn_summary1'と'rgn_content1'という違うオブジェクトを 操作するのはこれでいいんでしょうか。例示からはもう一つの オブジェクトIDの所在が見えないけれど。 あと、display:none;のオブジェクトにmouseoverイベントを 仕掛けても反応しないのでは?
お礼
編集途中で送信してしまいました・・・。 上のソースはテーブルタグをやめてdivにして整理した状態です。先ほどstyle="display:none;"になっていたのは、ブラウザでソースを表示すると初期状態、つまり縮小表示している状態のソースを表示するからじゃないかと思っています。
補足
cssとhtmlについては多少分かる物のjavascriptは勘だけでいじってるので正しく理解できているかわかりませんが恐らく、 ・rgn_summary1は縮小しているときに表示したいもの Wikiでは"#region(skill)"の()内にあるもの ・rgn_content1はマウスを重ねたときに表示したいもの Wikiでは"#region"と"#endregion"の間にあるもの // ■ 縮小表示しているときの表示内容。 function buildSummaryHtml(){ $summarystyle = ($this->isopened) ? "display:none;" : "display:block;"; return <<<EOD <div id=rgn_summary$this->callcount style="color:gray;$summarystyle" onMouseOver=" document.getElementById('rgn_summary$this->callcount').style.display='none'; document.getElementById('rgn_content$this->callcount').style.display='block'; ">$this->description </div> EOD; } // ■ 展開表示しているときの表示内容ヘッダ部分。ここの<td>の閉じタグは endregion 側にある。 function buildContentHtml(){ $contentstyle = ($this->isopened) ? "display:block;" : "display:none;"; return <<<EOD <div valign=top id=rgn_content$this->callcount style="$contentstyle" onMouseOut=" document.getElementById('rgn_summary$this->callcount').style.display='block'; document.getElementById('rgn_content$this->callcount').style.display='none'; "> EOD; }