将CSS类应用于从同一页面,不同部分的多个链接中单击的链接

时间:2014-09-25 13:33:10

标签: php html css

我有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个菜单项。

有没有办法可以将课程仅应用于点击的链接?

2 个答案:

答案 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