<ul id='nav'>
<script>
var head={{ head | safe }};
for(let key in head){
var str="<li><a id='1' href='#' onclick='MyFunction(" + key +");'>"+ key +"
</a></li>";
document.getElementById('nav').innerHTML += str;
}
</script>
</ul>
<script>
function MyFunction(key){
console.log(key)
var vv=document.getElementById(key);
vv.scrollIntoView()
vv.scrollIntoView();
}
</script>
基本上我正在尝试制作一个导航栏,当单击该导航栏时,它将导航用户到给定的div元素,因此,如果div的键与通过功能传递给它的链接相匹配,则它将滚动到特定的div元素。
我得到的错误是参数列表后的Uncaught SyntaxError:缺少
答案 0 :(得分:1)
您的代码段似乎包含服务器端模板(osgi.bundles=plugins/*
)。
您要的内容只能使用HTML来完成。
因此,如果您正在使用服务器端模板,则可以像这样渲染它。
但是,要点是,即使您在浏览器中使用Javascript渲染它,也仍然不需要使用{{ head | safe }}
。如果您有一个scrollIntoView()
元素,其中有一个<a>
,其中href="#id"
是页面上另一个元素的元素ID,则浏览器将在此处滚动。
id
.spacer {
height: 300px;
background-color: black;
}