python - 关于django 模板中循环列表
欧阳克
欧阳克 2017-07-05 10:34:48
[Python讨论组]

有一个导航条,想在这个导航下被激活的时候添加一个class = 'on'属性
如果点导航第二项 就第二项加这个class

{% for nav in NAV %}
<li>nav</li>
{% end for %}

比如

<li class="on">第一项</li>
<li>第二项</li>
<li>第三项</li>

这种该怎么实现呢?

欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

全部回复(2)
淡淡烟草味
#后端
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_lee

你这个跟 django 没什么关系啊。
你这个是前端页面的问题,比如:
你一次把导航都加载到前端页面,然后需要根据点击来打开当前菜单,然后关闭其他菜单的效果,对吧?
要是我理解的没问题的话,这是前端的问题

1、 bootstrap 或者 UIKit 都是支持这种效果的;

2、你自己写导航样式,比如名称为active,然后在jQuery 里给你点击的对象 $(this).addClass('active'),这是一个思路;

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号