如何在重定向到网站部分之前关闭菜单
How to make menu close before redirecting to website section
我有一个 JQuery 工作代码,它在重定向到正确的部分之前关闭导航。我想将其更改为纯 javascript。你有什么想法如何实现它吗?我搜索了很多主题,但没有找到。
$(document).ready(function() {
$('.menu-mobile a').click(function(e) {
e.preventDefault();
closeNav();
setTimeout(() => {
const nextPage = e.currentTarget.href;
window.location.href = nextPage;
},1000) // set the time here in milliseconds
})
});
另外,我想把$(document).ready
改成javascript。
它是有效的替代品吗?
document.addEventListener("DOMContentLoaded", function() {
//code
});
- 你不需要使用 $(document).ready in vanilla / pure javascript.
- 将上面实现的相同逻辑移植到 js 中会是这样的:
HTML
<button click=handleClick(e)>click me </button>
JS
const handleClick = (e) => {
// To prevent event bubbling
e.preventDefault();
window.location.href = e.currentTarget.href
}
例如,像下面这样的东西,你只需要closeNav();
函数。
document.querySelector(".link").addEventListener("click", function(e) {
e.preventDefault();
console.log(e.target.href)
//closeNav();
setTimeout(() => {
const nextPage = e.target.href;
window.location.href = nextPage;
}, 2000)
});
<div class=".menu-mobile ">
<a class="link" href="https://www.google.com/">link</a>
</div>
您是否要求使用 vanilla JS 编写 jQuery 代码?如果是:
document.addEventListener("DOMContentLoaded", function() {
document.querySelector('.menu-mobile a').addEventListener("click", function(e) {
e.preventDefault();
closeNav();
setTimeout(() => {
const nextPage = e.currentTarget.href;
window.location.href = nextPage;
}, 1000); // set the time here in milliseconds
});
});
我用了querySelector
and addEventListener
我有一个 JQuery 工作代码,它在重定向到正确的部分之前关闭导航。我想将其更改为纯 javascript。你有什么想法如何实现它吗?我搜索了很多主题,但没有找到。
$(document).ready(function() {
$('.menu-mobile a').click(function(e) {
e.preventDefault();
closeNav();
setTimeout(() => {
const nextPage = e.currentTarget.href;
window.location.href = nextPage;
},1000) // set the time here in milliseconds
})
});
另外,我想把$(document).ready
改成javascript。
它是有效的替代品吗?
document.addEventListener("DOMContentLoaded", function() {
//code
});
- 你不需要使用 $(document).ready in vanilla / pure javascript.
- 将上面实现的相同逻辑移植到 js 中会是这样的:
HTML
<button click=handleClick(e)>click me </button>
JS
const handleClick = (e) => {
// To prevent event bubbling
e.preventDefault();
window.location.href = e.currentTarget.href
}
例如,像下面这样的东西,你只需要closeNav();
函数。
document.querySelector(".link").addEventListener("click", function(e) {
e.preventDefault();
console.log(e.target.href)
//closeNav();
setTimeout(() => {
const nextPage = e.target.href;
window.location.href = nextPage;
}, 2000)
});
<div class=".menu-mobile ">
<a class="link" href="https://www.google.com/">link</a>
</div>
您是否要求使用 vanilla JS 编写 jQuery 代码?如果是:
document.addEventListener("DOMContentLoaded", function() {
document.querySelector('.menu-mobile a').addEventListener("click", function(e) {
e.preventDefault();
closeNav();
setTimeout(() => {
const nextPage = e.currentTarget.href;
window.location.href = nextPage;
}, 1000); // set the time here in milliseconds
});
});
我用了querySelector
and addEventListener