Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 存在GET变量时导航栏中的活动链接_Javascript_Php_Html_Css_Twitter Bootstrap - Fatal编程技术网

Javascript 存在GET变量时导航栏中的活动链接

Javascript 存在GET变量时导航栏中的活动链接,javascript,php,html,css,twitter-bootstrap,Javascript,Php,Html,Css,Twitter Bootstrap,我有个小问题。我知道如何在导航栏上激活链接 但是,如果链接后有GET变量,则这不起作用。因此,虽然我的如果我每天加载daily.php,它会得到class=“active”,但是如果我每天加载daily.php?project=4,它不会得到类 我现在用于导航栏并激活某个链接的代码如下: <?php function echoActiveClassIfRequestMatches($requestUri) { $current_file_name = basename($_SERV

我有个小问题。我知道如何在导航栏上激活
链接

但是,如果链接后有GET变量,则这不起作用。因此,虽然我的
  • 如果我每天加载
    daily.php
    ,它会得到
    class=“active”
    ,但是如果我每天加载
    daily.php?project=4
    ,它不会得到类

    我现在用于导航栏并激活某个链接的代码如下:

    <?php
    function echoActiveClassIfRequestMatches($requestUri)
    {
        $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");
    
        if ($current_file_name == $requestUri)
            echo 'class="active"';
    }
    ?>
    
    <div id="menu">
    <ul>
    <li <?php echoActiveClassIfRequestMatches("daily") ?>><a href="daily.php">Daily</a></li>
    <li <?php echoActiveClassIfRequestMatches("weekly") ?>><a href="weekly.php">Weekly</a></li>
    <li <?php echoActiveClassIfRequestMatches("monthly") ?>><a href="monthly.php">Monthly</a></li>
    </ul></div>
    
    
    
      >
      您可以使用strpo而不是“==”。它将检查URL是否包含您想要的地址。 或者可以使用explode拆分URL

      $current_url = explode("?", $_SERVER['REQUEST_URI']);
      echo $current_url[0] ;
      

      您可以使用strpo而不是“==”。它将检查URL是否包含您想要的地址。 或者可以使用explode拆分URL

      $current_url = explode("?", $_SERVER['REQUEST_URI']);
      echo $current_url[0] ;
      

      下面是一个经过修改的函数

      <?php
      function echoActiveClassIfRequestMatches($requestUri)
      {       
          $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");
      
          if (strpos($current_file_name,$requestUri)!==false)
              echo 'class="active"';
      }
      ?>
      

      这里是一个经过修改的函数

      <?php
      function echoActiveClassIfRequestMatches($requestUri)
      {       
          $current_file_name = basename($_SERVER['REQUEST_URI'], ".php");
      
          if (strpos($current_file_name,$requestUri)!==false)
              echo 'class="active"';
      }
      ?>
      
      
      
      谢谢,这和Pvb的答案一样有效!不幸的是,我不能接受两个答案…不用担心,很高兴我能帮上忙:)谢谢,这和Pvb的答案一样有效!不幸的是,我不能接受两个答案……不用担心,很高兴我能帮上忙:)