jQuery と PHP の知識がほとんどないため、アクティブなページが開いているときにリンクが「アクティブ」として表示され、アクティブなページではスライダー メニューが正しいセクションで開いたままになるアコーディオン メニューをほぼ完成させました。
下部のリンクにいくつかの php を追加しました。アクティブなページでは、子リンクがアクティブとして表示されます。ただし、親要素はそうではなく、それ自体を閉じます。
助けていただければ幸いです!!!
現状の私のコードは次のとおりです。
<ul id="accordion">
<ul class="parent">
<li>
<a href="#" class="slide">CMS</a>
<ul class="child">
<li><a href="/learn/intro-to-cms">Intro to CMS</a></li>
<li><a href="/learn/specific-cms">Specific CMS</a></li>
<li><a href="/learn/installing-a-cms">Installing a CMS</a></li>
</ul>
</li>
</ul>
<ul class="parent">
<li>
<?php
if ($this_page=="Customising-Google-Forms" || $this_page=="Web-Event-Notes"){
echo "<a href=\"#\" class=\"slide current\">Other</a>";
}else{
echo "<a href=\"#\" class=\"slide\">Other</a>";
}
?>
<ul class="child">
<?php
if ($this_page=="Customising-Google-Forms"){
echo "<li class=\"current\"><a href=\"/learn/customising-google-forms\">Customising-google-forms</a></li>";
}else{
echo "<li><a href=\"/learn/customising-google-forms\">Customising Google Forms</a></li>";
}
?>
<?php
if ($this_page=="Web-Event-Notes"){
echo "<li class=\"current\"><a href=\"/learn/web-event-notes\">Web Event Notes</a></li>";
}else{
echo "<li><a href=\"/learn/web-event-notes<\">Web-Event-Notes</a></li>";
}
?>
</ul>
</li>
</ul>
<script type="text/javascript">
$(function(){
// hide all links on load
$('ul.child').hide();
// for image
// $("a.slide:first").css("background-image","url('path')");
$('ul.parent a.slide').click(function(){
$('ul.parent a.slide').css("color","#000");
$('ul.parent a.slide').hover(function(){
$(this).css("color","#ef492f");
});
$('ul.parent a.slide').mouseout(function(){
$(this).css("color","#000");
});
$(this).mouseout(function(){
$(this).css("color","#000");
});
$(this).css("color","#000");
// slide all up
$('ul.child').slideUp('slow');
// show the links of current heading
$(this).next().find('a').show();
// slide down current heading
$(this).next().slideDown('fast');
// prevent default action
return false;
});
if($("ul li a").hasClass("current")) {
$(this).closest("ul").slideDown("fast") //open the menu
}
});
</script>