Lak*_*sad 5 django django-templates
假设每个导航中都有导航,nav1,nav2,nav3和许多子窗体.
对于css效果,您需要应用于class=current当前选定的导航.
干燥的方法是什么?
对于子窗体,您可以在基本模板中检查request.get_full_path是否与subnav引用的url相同.
怎么能让它干燥导航呢.
在您的方法中,您添加一个类来表示元素本身的活动导航元素,您可以将活动导航元素的名称从您的视图添加到上下文中。然后,使用一些 javascript 将current类添加到适当的元素。
例如,如果您有以下导航元素:
<a id="home" href="#">Home</a>
<a id="about" href="#">About</a>
Run Code Online (Sandbox Code Playgroud)
在你的视图中,添加一个上下文变量current,通过 id 来表示当前 nav 元素的 id:
return render_to_response('template.html',
{'current': 'home'})
Run Code Online (Sandbox Code Playgroud)
然后在 javascript 中(此处显示 jQuery):
$("#{{ current }}").addClass('current')
Run Code Online (Sandbox Code Playgroud)
这将被评估为:
$("#home").addClass('current')
Run Code Online (Sandbox Code Playgroud)
这反过来会将您的 #current CSS 应用到 home 元素。
另一种方法是向标记添加一个类body,用于标识当前活动的导航菜单。然后在 css 中,为每个主体类定义样式,突出显示相应的导航项。然后,您的模板将current变量直接插入到主体类列表中,并且不需要 JavaScript。
| 归档时间: |
|
| 查看次数: |
716 次 |
| 最近记录: |