Heim > Fragen und Antworten > Hauptteil
Es gibt eine Navigationsleiste, und ich möchte ein class = 'on'-Attribut hinzufügen, wenn diese Navigation aktiviert ist
Wenn Sie auf das zweite Navigationselement klicken, fügen Sie diese Klasse zum zweiten Element hinzu
{% for nav in NAV %}
<li>nav</li>
{% end for %}
Zum Beispiel
<li class="on">第一项</li>
<li>第二项</li>
<li>第三项</li>
Wie erreicht man das?
淡淡烟草味2017-07-05 10:36:48
#后端
navs = [
{'name': '菜单1', 'url': 'url1'},
{'name': '菜单2', 'url': 'url2'}
]
for nav in navs:
nav['class'] = 'on' if nav['url'] == request.path else None
#前端
{% for nav in navs %}
<li class={{ nva.class }}>{{ nva.name }}</li>
{% end for %}
ringa_lee2017-07-05 10:36:48
你这个跟 django 没什么关系啊。
你这个是前端页面的问题,比如:
你一次把导航都加载到前端页面,然后需要根据点击来打开当前菜单,然后关闭其他菜单的效果,对吧?
要是我理解的没问题的话,这是前端的问题
1、 bootstrap 或者 UIKit 都是支持这种效果的;
2、你自己写导航样式,比如名称为active
,然后在jQuery 里给你点击的对象 $(this).addClass('active')
,这是一个思路;