导航栏<li>的自举回应包括下拉儿童</li>

时间:2013-05-16 21:49:23

标签: twitter-bootstrap navbar

这是一个带有下拉列表的基本引导程序导航栏,它正在header.php中使用(因此每个页面都不能拥有自己的带有活动标签的列表项的导航栏)

当你去一个页面时,我一直用它来回应一个活动标签:

<?=echoActiveClassIfRequestMatches("balhblah")?>

第一个问题:当<li>有一个下拉列表时,回显将不起作用。

第二个问题:找出一种方法让主页<li>在选择<li>下拉时显示,就像“摇晃”一样。

    <li class="dropdown" <?=echoActiveClassIfRequestMatches("foods")?>>
        <a href="foods.php" >foods</a>

        <ul class="dropdown-menu">
            <li><a href="#">shakes</a></li>

            <li><a href="#">cookies</a></li>
        </ul>
    </li>

想要为此做一个Bootply,但是当你的href是#时 - 基本上我无法弄清楚如何链接到Bootply中的另一个页面,这样你就可以看到活动回声的结果。不确定你是否可以。

1 个答案:

答案 0 :(得分:2)

第一个问题:html-tag(在这种情况下为li)不能有两个类属性,因此您需要执行类似<li class="dropdown <?=echoActiveClassIfRequestMatches("foods")?>">的操作,这会产生<li class="dropdown active">。所以你需要你的echoActiveClassIfRequestMatches函数的输出。

第二个问题:php无法读取您网址的哈希部分,请参阅Can I read the hash portion of the URL on my server-side application (PHP, Ruby, Python, etc.)?。您需要使用javascript将partent设置为活动状态。

 $('.dropdown-menu li a').on('click', function() { $(this).parent().addClass('active');});