简体   繁体   English

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

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

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');
});

It looks like you have some extra colons in your query parameters.看起来您的查询参数中有一些额外的冒号。 You don't need the s: unless you're passing in the parameters as an object.您不需要s:除非您将参数作为 object 传递。

You can either remove the extra object notation:您可以删除额外的 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');
});

or add brackets around the function selectElement 's parameter and turn it into object destructuring:或在 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');
});

I'd recommend the first option as using objects for function parameters only really helps when you have multiple parameters that you're trying to keep track of.我推荐第一个选项,因为使用 function 参数的对象只有在您尝试跟踪多个参数时才真正有帮助。

In either case you'd want to remove tokens: from the classList.remove() function无论哪种情况,您都想删除tokens:classList.remove() function

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

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