Bundled Themes: Twenty Twenty anchor links don't work in mobile menu.

Modifies the mobile modal menu javascript, so that anchor links will close the modal and scroll to the anchor within the page.

Props Giorgio25b, suzylah, yuhin, samful, bdcstr.
Fixes #48916.

git-svn-id: https://develop.svn.wordpress.org/trunk@47784 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Ian Belanger 2020-05-12 16:43:42 +00:00
parent eae306d5bf
commit afaab88e8e
1 changed files with 11 additions and 0 deletions

View File

@ -137,6 +137,17 @@ twentytwenty.coverModals = {
var target = event.target;
var modal = document.querySelector( '.cover-modal.active' );
// if target onclick is <a> with # within the href attribute
if ( event.target.tagName.toLowerCase() === 'a' && event.target.hash.includes( '#' ) && modal !== null ) {
// untoggle the modal
this.untoggleModal( modal );
// wait 550 and scroll to the anchor
setTimeout( function() {
var anchor = document.getElementById( event.target.hash.slice( 1 ) );
anchor.scrollIntoView();
}, 550 );
}
if ( target === modal ) {
this.untoggleModal( target );
}