注:コード内のオリジナルと新しい。
ここでの私の問題は、元の「親」があまり SEO フレンドリーではなく、計画どおりに動作せず、サイトマップにも取得されないことです。
ただし、新しいものは SEO フレンドリーで、サイトマップで取り上げられ、最終的には計画どおりになります。
左のナビゲーションメニューと各メニュー/サブメニューの名前の両方が表示され、ページの中央に各サブメニューの名前の写真が表示されるように、リンクにする必要があります。親は左側のナビゲーション メニューでクリックします。
新しい行を追加すると、リンクが原因でページが更新されるため、サブメニューは更新の前に 1 秒間だけ開いて点滅します。
私が解決するのに助けが必要なのは:
- ページの更新時にサブメニューを開いたままにして、サイドバー ナビゲーションとセンター ナビゲーションの両方を使用できるようにします。
よろしくお願いします!
//ジム
これは私の現在のメニューです:
<div id="container">
<dl>
<?php
$select_category = mysql_query("SELECT * FROM menu WHERE hidden = 0 ORDER BY menu ASC");
while($ln = mysql_fetch_array($select_category)){
$idcat = $ln['nmr'];
$catname = str_replace(' ', '-', $ln['menu']);
?>
*Original*: <dt><a href="#/<?php echo $catname; ?>/" style="color:#000;" ><strong><?php echo $ln['menu']; ?></strong></a></dt>
*New*: <dt><a href="http://www.mysite.com/cats/<?php echo $msub['nmr'];?>/<?php echo $mname; ?>/" style="color:#000;" ><strong><?php echo $mn['menu']; ?></strong></a></dt>
<?php
$select_sub = mysql_query("SELECT * FROM submenu WHERE nmrmenu = '$idcat' AND hidden = 0");
if(mysql_num_rows($select_sub) == 0){
}else {
?>
<dd>
<ul>
<?php
while($lsub = mysql_fetch_array($select_sub)){
$subname = str_replace(' ', '-', $lsub['submenu']);
$pil = '»';
$brnr = $lsub['nmr'];
?>
<li> <a href="http://www.mysite.com/cat/<?php echo $lsub['nmr'];?>/<?php echo $subname; ?>/" style="color:#333;"> <?php echo $pil; ?> <?php echo $lsub['submenu']; ?></a></li>
<?php } ?>
</ul>
</dd>
<?php } ?>
</dl>
<?php } ?>
</div>
CSS:
#container{ margin:auto; margin-left:10px; }
dl, dt, dd, ul, li, a{ margin:0; padding:0; }
a{ text-decoration: none; color:#0F0; }
li{ padding-left:.6em; list-style-type:none; color:#FF0; }
dl{ width:100px; }
dt{ }
JS:
$(function()
{
$("dd:not(first)").hide();
$("dt a").click(function()
{
$("dd").slideUp("normal");
$(this).parent("dt").next("dd").slideDown("normal");
});
});
これが私のコードのjsFiddleです。