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:
parent
eae306d5bf
commit
afaab88e8e
@ -137,6 +137,17 @@ twentytwenty.coverModals = {
|
|||||||
var target = event.target;
|
var target = event.target;
|
||||||
var modal = document.querySelector( '.cover-modal.active' );
|
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 ) {
|
if ( target === modal ) {
|
||||||
this.untoggleModal( target );
|
this.untoggleModal( target );
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user