【发布时间】:2020-04-01 21:09:31
【问题描述】:
我在我的网页中创建了一个导航栏,它使用 href 链接到不同的 html 文件。 navbar.html 有 javascript 来更改活动链接 UI,以向用户显示我像这样加载的单击了哪个项目。
navbar.html
<script>
require('../assets/navbar.js');
</script>
navbar.js
$('#sidebar-button').click(function() {
$('.ui.sidebar').sidebar('toggle');
});
$('div.sidebar-items > a').click(function() {
$(this).attr('class', 'active item');
$(this).siblings().attr('class', 'item');
$(this).find('i').addClass('teal');
$(this).siblings().find('i').removeClass('teal');
$('.ui.sidebar').sidebar('toggle');
});
它将成功加载另一个 html 页面,我在 search.html 中包含相同的 navbar.html:
search.html
<script> $(function() {
$('#navbar').load("../html_pages/navbar.html", function() {
$.getScript("../assets/navbar.js")
});
});
</script>
但是,活动链接不会更改为单击的相应页面(在本例中为 search.html)。导航栏只是在编写原始 html 时加载。如何让navbar.js 在加载另一个页面时也执行并更改 html?
【问题讨论】:
-
require()是 Node.js 的一部分:stackoverflow.com/a/9901097/378779。你是用 Node 写的吗?
标签: javascript jquery html