我使用UIKIT Nav组件制作了侧边栏。

http://getuikit.com/docs/nav.html

这样可以制作像这样的手风琴。

<ul class="uk-nav uk-nav-side uk-nav-parent-icon" data-uk-nav="{multiple:true}">
    <li class="uk-parent">
        <a href="#">parrent</a>
        <ul class="uk-nav-sub uk-nav-side">
            <li class="uk-active">
                <a href="#">current</a>
            </li>
            <li>
                <a href="#">not current</a>
            </li>
        </ul>
    </li>
</ul>


如果我单击手风琴菜单。标签会改变它。

<ul class="uk-nav uk-nav-side uk-nav-parent-icon" data-uk-nav="{multiple:true}">
    <li class="uk-parent uk-open" aria-expanded="true">
        <a href="#">parent</a>
        <div style="overflow: hidden; position: relative;">
            <ul class="uk-nav-sub uk-nav-side">
                <li class="uk-active">
                    <a href="#">current</a>
                </li>
                <li>
                    <a href="#">not current</a>
                </li>
            </ul>
        </div>
    </li>
</ul>


如果我重新加载页面,所有手风琴将关闭。

所以我想问你一个问题,即当请求网址为最新时如何始终打开?
我想始终打开嵌套uk-active li标签的父ul标签。

我认为这将能够与jQuery或PHP一起使用。

有任何想法吗?

最佳答案

我不知道您的另一个代码,但这是一种方法:

您的网址:index.php?id = 2

<?php
$page = (isset($_GET['id']))?(int)$_GET['id']:'';
?>
<ul class="uk-nav uk-nav-side uk-nav-parent-icon" data-uk-nav="{multiple:true}">
   <li class="uk-parent">
        <a href="#">parrent</a>
        <ul class="uk-nav-sub uk-nav-side">
            <li class="<?=(($page==2)?'uk-active':'')?>">
                <a href="#">current</a>
            </li>
            <li>
                <a href="#">not current</a>
            </li>
        </ul>
    </li>
</ul>


这段代码:

<?=(($page==2)?'uk-active':'')?>


是这个的简写:

<?php
if($page == 2){
   echo "uk-active";
}else{
   echo "";
}

07-27 21:15