我正在尝试构建一个导航,用于确定用户所在的页面,并为该链接提供一个不同的命令,以便在当前页面上单击它时显示div标记。示例:您单击主页以转到主页。如果您在主页上并再次单击home,则会导致div标签淡入。我有div标签,但我不知道如何将多个命令应用于标签。我希望导航只是一个全站点包括我必须进一步更新网站。现在我每页都有个人导航。
答案 0 :(得分:2)
在PHP中,您可以使用$_SERVER['REQUEST_URI']
中的值及相关条目了解所请求的页面。
然后,您可以根据所请求的页面来决定您所在的页面。
这允许您从许多不同的文件中包含菜单模板,无论这些文件位于页面结构中的哪个位置。
一个简短的例子,这里有你建议的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>
答案 1 :(得分:0)
将多个命令应用于标记
我假设您在元素中使用onlick
属性。不要那样做。从单独的脚本分配任何事件处理程序。您可以根据需要将尽可能多的事件绑定到元素(以及根据需要对事件进行尽可能多的回调)。
jQuery示例:
jQuery( '#menu a' ).on( 'click', function( event ) {
if( event.target.attr( 'href' ) == window.location ) {
event.preventDefault();
jQuery( '#specialDivPopup' ).show();
}
} );
答案 2 :(得分:0)
简单地在onclick @同一页面上放一个jquery hide div函数(尝试逻辑)
@ Home Page - &gt; (点击代码隐藏家庭DIV)
@ MYPAGE Page - &gt; (点击代码隐藏MYPAGE DIV)