ユーザーがいるページを決定し、現在のページでクリックすると div タグを表示する別のコマンドをそのリンクに与えるナビゲーションを構築しようとしています。例: ホームページをクリックしてホームページに移動します。ホームページにいるときにホームをもう一度クリックすると、div タグがフェードインします。div タグは機能していますが、タグに複数のコマンドを適用する方法がわかりません。サイトをさらに更新する必要がある場合に備えて、ナビゲーションをサイト全体のインクルードにしたい. 現在、各ページに個別のナビゲーションがあります。
質問する
63 次
3 に答える
2
$_SERVER['REQUEST_URI']
PHP では、値 inおよび関連するエントリを使用して、要求されたページについて知ることができます。
次に、現在のページを決定し、要求されたページに応じてメニューの表示を変更できます。
これにより、ページ構造内のどこに配置されているかに関係なく、多くの異なるファイルからメニュー テンプレートを含めることができます。
ここに、提案されPHP_SELF
たエントリと非ディレクトリ構造を含む短い例を示します。
<?php
$currentPage = basename($_SERVER["PHP_SELF"]);
/** define the menu **/
$menu = array(
array('index.php', 'home');
);
/** process the menu **/
foreach ($menu as &$entry) {
list($page, $name) = $entry;
$isCurrent = $currentPage === $page;
if ($isCurrent) {
$href = '#';
$extra = ' onclick="MM_effectAppearFade(display, 2500, 0, 100, true)"';
} else {
$href = $page;
$extra = '';
}
$entry = array_merge($entry, array($href, $extra));
}
unset($entry);
/** output the menu **/
?>
<ul>
<?php foreach($menu as $entry) { ?>
<li>
<?php
list($page, $name, $href, $extra) = $entry;
printf(
'<a href="%s"%s>%s</a></li>',
$href, $extra, htmlspecialchars($name)
);
?>
</li>
<?php } ?>
</ul>
于 2012-10-17T13:37:38.187 に答える
0
同じページのonclickにjqueryhidediv関数を配置するだけです(ロジックを試してください)
@ホームページ->(クリックしてホームページを非表示にするコードを入力)
@ MYPAGEページ->(クリックでMYPAGE DIVを非表示にするコードを入力)
于 2012-10-17T13:40:37.943 に答える
0
タグに複数のコマンドを適用する
onlick
要素で属性を使用していると思います。そうしないでください。別のスクリプトから任意のイベント ハンドラーを割り当てます。必要な数のイベントをエレメントにバインドできます (また、必要な数のイベントへのコールバックもバインドできます)。
jQuery の例:
jQuery( '#menu a' ).on( 'click', function( event ) {
if( event.target.attr( 'href' ) == window.location ) {
event.preventDefault();
jQuery( '#specialDivPopup' ).show();
}
} );
于 2012-10-17T13:39:22.013 に答える