Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Menu not closing when clicking on named anchor link #189

Open
KapsLock76 opened this issue Apr 30, 2020 · 8 comments
Open

Menu not closing when clicking on named anchor link #189

KapsLock76 opened this issue Apr 30, 2020 · 8 comments

Comments

@KapsLock76
Copy link

KapsLock76 commented Apr 30, 2020

Hi there,

The slicknav menu has been incorporated in a html theme I use. I had no problems with it until I tried to make named anchor links. So I have an about page called about-us.php. In this page are multiple sections. Under the parent menu about us I have for instance Vision. The link is about-us.php#vision. But every time I click on this link when Im already on the about us page the menu doesnt close. I've tried closing it with my own jQuery, but it seems that the menu items from slicknav dont react to this code at all(jQuery click methods). The main menu does listen to this code, but as soon as slicknav is activated it stops listening to my custom js. Its a small detail of this project but Im pulling my hairs to understand whats going on here. Any tips would be greatly appreciated.

For the live version: https://kvanling.nl/schouwspel/

I have disabled removing ID's because thats the selectors I use for jQuery. I have to removeClasses otherwise the main-menu classes will be active.

Heres the setup of the code:

$('.main-menu').slicknav({
            appendTo: '.res-mobile-menu',
            label: 'MENU',
            duplicate: true,
            duration: 200,
            easingOpen: 'swing',
            easingClose: 'swing',
            closedSymbol: '►',
            openedSymbol: '▼',
            parentTag: 'a',
            closeOnClick: true,
            allowParentLinks: false,
            nestedParentLinks: true,
            showChildren: false,
            removeIds: false,
            removeClasses: true,
            removeStyles: false,
            brand: '',
            animations: 'jquery',
            init: function () {},
            beforeOpen: function () {},
            beforeClose: function () {},
            afterOpen: function () {},
            afterClose: function () {}

        });

//This is the jQuery custom code for the menu items. I dont see the console.log message when I click slicknav, but I do see it when I click the main menu. Seems like slicknav is not recognising any clicks.

$('#intlink').click(function(){
            console.log('click');
            $('#werkwijze').css('paddingTop','0px');
           

        });// end click
        $('#intlink1').click(function(){
            console.log('click');
            $('#visie').css('paddingTop','0px');
           

        });// end click
        $('#intlink3').click(function(){
            console.log('click');
            $('#team').css('paddingTop','0px');
           

        });// end click

In the codepen from slicknav when I click a hash link the menu closes. What am I doing wrong here??
Let me know if you need anything else.

Grtzz, Kasper
@gregston
Copy link

gregston commented Jun 1, 2020

Hi, Did you ever work this out? I'm having the same problem. Also it would be nice if the menu closed after a click outside it.

@KapsLock76
Copy link
Author

No, no soultion. I decided to live with it for now. Maybe during further development I will find a soultion. Keep you posted.

@gregston
Copy link

gregston commented Jun 2, 2020 via email

@gregston
Copy link

gregston commented Jun 2, 2020

I seem to have got it working by linking to the full file:

<script src="SlickNav/jquery.slicknav.js"></script>

ie not minimised version.

@ComputerWolf
Copy link
Owner

I am unable to replicate this issue even when using the minified version. Can you please create a code-pen that recreates the issue?

@sskhekhaliya
Copy link

Hi there,

The slicknav menu has been incorporated in a html theme I use. I had no problems with it until I tried to make named anchor links. So I have an about page called about-us.php. In this page are multiple sections. Under the parent menu about us I have for instance Vision. The link is about-us.php#vision. But every time I click on this link when Im already on the about us page the menu doesnt close. I've tried closing it with my own jQuery, but it seems that the menu items from slicknav dont react to this code at all(jQuery click methods). The main menu does listen to this code, but as soon as slicknav is activated it stops listening to my custom js. Its a small detail of this project but Im pulling my hairs to understand whats going on here. Any tips would be greatly appreciated.

For the live version: https://kvanling.nl/schouwspel/

I have disabled removing ID's because thats the selectors I use for jQuery. I have to removeClasses otherwise the main-menu classes will be active.

Heres the setup of the code:

$('.main-menu').slicknav({
            appendTo: '.res-mobile-menu',
            label: 'MENU',
            duplicate: true,
            duration: 200,
            easingOpen: 'swing',
            easingClose: 'swing',
            closedSymbol: '&#9658;',
            openedSymbol: '&#9660;',
            parentTag: 'a',
            closeOnClick: true,
            allowParentLinks: false,
            nestedParentLinks: true,
            showChildren: false,
            removeIds: false,
            removeClasses: true,
            removeStyles: false,
            brand: '',
            animations: 'jquery',
            init: function () {},
            beforeOpen: function () {},
            beforeClose: function () {},
            afterOpen: function () {},
            afterClose: function () {}

        });

//This is the jQuery custom code for the menu items. I dont see the console.log message when I click slicknav, but I do see it when I click the main menu. Seems like slicknav is not recognising any clicks.

$('#intlink').click(function(){
            console.log('click');
            $('#werkwijze').css('paddingTop','0px');
           

        });// end click
        $('#intlink1').click(function(){
            console.log('click');
            $('#visie').css('paddingTop','0px');
           

        });// end click
        $('#intlink3').click(function(){
            console.log('click');
            $('#team').css('paddingTop','0px');
           

        });// end click

In the codepen from slicknav when I click a hash link the menu closes. What am I doing wrong here??
Let me know if you need anything else.

Grtzz, Kasper

This is very easy just watch on top in 'default settings object' "closeOnClick: false," and change it to "true"

@rajesh-kanna
Copy link

@jonahcoyote
Copy link

jonahcoyote commented Mar 22, 2024

I solved this for myself by calling the close method on menu item click:

jQuery(document).on("click", ".slicknav_nav a", function() { $('#mobile_nav').slicknav('close'); });

Hope that helps!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants