我有三个链接,它们都指向同一个页面,但指向不同的部分。
这就是页面部分的样子,它们都很相似——只是从不同的表中读取。
<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个菜单项。
有没有一种方法可以将类仅应用于单击的链接?
我理解你的问题,你可以这样做:
system.php?section=networking#networking
在顶部执行此操作:
<?php $page = 'system'; $section=$_GET['section']; ?>
然后将if语句更改为:
if ($page == 'system' AND $section == 'networking') {
注意:这不是最好的解决方案,但使用您的风格,希望这将对您有所帮助!
您可以尝试类似的东西
<?php $page = parse_url( $_SERVER['REQUEST_URI'], PHP_URL_FRAGMENT ); ?>
但是还有一个额外的问题你需要考虑。当你已经在页面上并使用链接进入另一个部分时,页面将不会重新加载。
如果你想在这种情况下更新活动类,你需要javascript中的一些东西来完成。也许这个问题可以帮助您jQueryMobile将点击事件添加到按钮中,而不是更改页面