我有3个链接都指向同一页面,但指向不同的部分。
这是页面部分的样子,它们都是相似的 - 只是从不同的表中读取。
<h1>Networking</h1>
<?php
include 'inc/connect.php';
$data = mysqli_query($link, "SELECT * FROM networking WHERE id = 1")or
die(mysqli_error($link));
while($info = mysqli_fetch_array( $data )) {
echo nl2br($info['info']);}
?>
</article>
这是菜单文件中包含“网络”链接的部分。
if ($page == 'system') {
$output .="<li><a href='system.php#networking' class='active'>Networking</a></li>";}
else{
$output .="<li><a href='system.php#networking'>Networking</a> </li>";}
所有页面部分都在名为system.php的页面中。 在system.php的头部我有这一行
<?php $page = 'system'; ?>
这样我就可以将css类'active'应用于活动链接。
现在的方式,当我点击同一页面中的任何一个不同部分链接时,“活动”类将应用于所有3个菜单项。
有没有办法可以将课程仅应用于点击的链接?
答案 0 :(得分:1)
我理解你的问题,你可以这样做:
system.php?section=networking#networking
并在顶部执行此操作:
<?php $page = 'system'; $section=$_GET['section']; ?>
然后将您的if语句更改为:
if ($page == 'system' AND $section == 'networking') {
注意:这不是最好的解决方案,但是使用你的风格,我希望这会对你有帮助!
答案 1 :(得分:0)
你可以试试像
这样的东西<?php $page = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_FRAGMENT ); ?>
但是你需要记住一个额外的问题。当您已经在页面上并使用链接来获取另一部分时,该页面将不会重新加载。
如果你想在这种情况下更新活动类,你需要在javascript中做一些事情。 也许这个问题可以帮助你jQueryMobile add click event to a button instead of changing page