我使用Bootstrap 4.3.1制作了一个小型网站,除使用带有切换按钮的responsive navbar的折叠插件外,不需要任何JavaScript。
Bootstrap 4不再具有customizer,因此我被迫向jquery-3.3.1.slim.min.js
加载69 kiB,向bootstrap.min.js
加载57 kiB,这导致下载126 kiB小屏幕上的交互式菜单切换按钮的Javascript。
有什么办法可以减少用户的javascript下载大小?
答案 0 :(得分:0)
删除所有jQuery和bootstrap javascript,并添加以下内容:
<script type="text/javascript">
const triggers = Array.from(document.querySelectorAll('[data-toggle="collapse"]'));
triggers.forEach(elem => {
elem.addEventListener('click', event => {
const selector = elem.getAttribute('data-target');
collapse(selector, 'toggle');
});
});
const fnmap = {
'toggle': 'toggle',
'show': 'add',
'hide': 'remove'
};
const collapse = (selector, cmd) => {
const targets = Array.from(document.querySelectorAll(selector));
targets.forEach(target => {
target.classList[fnmap[cmd]]('show');
});
};
</script>
受到https://medium.com/dailyjs/mimicking-bootstraps-collapse-with-vanilla-javascript-b3bb389040e7
的启发