繁体   English   中英

我已经使用 javascript 为移动设备创建了这个切换菜单,但这不起作用

[英]I have create this toggle menu for mobile device using javascript but this is not working

我已经使用 javascript 为移动设备创建了这个切换菜单,但这不起作用

const selectElement = (s) => document.querySelector(s);
selectElement(s: '.open').addEventListener('click', () => {
    selectElement(s:'nav-list').classList.add('active');
});
selectElement(s:'.close').addEventListener('click', () => {
    selectElement(s:'nav-list').classList.remove(tokens:'active');
});

看起来您的查询参数中有一些额外的冒号。 您不需要s:除非您将参数作为 object 传递。

您可以删除额外的 object 表示法:

const selectElement = (s) => document.querySelector(s);
selectElement('.open').addEventListener('click', () => {
    selectElement('nav-list').classList.add('active');
});
selectElement(close').addEventListener('click', () => {
    selectElement('nav-list').classList.remove('active');
});

或在 function selectElement的参数周围添加括号并将其转换为 object 解构:

const selectElement = ({ s }) => document.querySelector(s);
selectElement({ s: '.open' }).addEventListener('click', () => {
    selectElement({ s: 'nav-list' }).classList.add('active');
});
selectElement({ s: '.close' }).addEventListener('click', () => {
    selectElement({ s: 'nav-list' }).classList.remove('active');
});

我推荐第一个选项,因为使用 function 参数的对象只有在您尝试跟踪多个参数时才真正有帮助。

无论哪种情况,您都想删除tokens:classList.remove() function

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM