我喜欢 SO 的效果,当您单击左上角显示“堆栈交换”的通知时,SO 将打开一个新页面,跳转到特定部分,然后以黄色突出显示该部分并淡出。
目前,我在一个长网站的底部有一个评论表。当评论发布验证失败时,我让 jQuery 滚动到表单并执行与 SO 相同的黄色突出显示效果。
这是我的(完美工作)代码:
$(document).ready(function() {
{% if focus %}
// Focus
$('html, body').animate({scrollTop: $('#{{ focus }}').offset().top }, 'slow')
$('#{{ focus }}').effect("highlight", {}, 3000)
{% endif %}
})
我的代码中有这个代码,base.html
所以每个模板都会检查一个名为focus
. focus
只是一个包含 的字符串id
来做<div>
黄色高亮效果。
正如你所看到的,我觉得这有点被黑了。我需要focus
使用render()
Django 的views.py
.
我真正想做的是将它作为GET
变量传递。类似的东西http://www.example.com/orders/2/?focus=comment_form
。然后我可以使用 Javascript获取该GET
变量并执行高亮效果。但我不知道如何GET
使用render()
.
目前我的render()
样子是这样的:
dictionary = get_orders_detail_dictionary(order=order, user=request.user, comment_form=form)
dictionary['focus'] = 'comment_form'
return render(request, 'doors/orders/detail.html', dictionary)
我想使用 a 的原因GET
是类似“永久链接”选项。