Mobile Navigation conflicting with in-page submenu

1 reply · opened Jun 14, 2016

RRrussiaJun 14, 2016

Hey Guys,

I love the template, but I'm just reporting a bug concerning the mobile site navigation menu firing up when we use the in-page navigation menu.

Refer to /Package-HTML/HTML/index-onepage-2.html

When we use the sub menu on a mobile the top to the main navigation is triggered without the user tapping on the trigger icon.

Kind Regards,

Richo

SSemicolon WebSTAFFJun 15, 2016

Hello,

There is a Minor Bug with this and we have already fixed this in our Next Update which will be released shortly. Meanwhile, you can fix this yourself by replacing the entire onePageScroll: function() Function Block in the js/functions.js File:

onePageScroll: function(){
	if( $onePageMenuEl.length > 0 ){
		var onePageSpeed = $onePageMenuEl.attr('data-speed'),
			onePageOffset = $onePageMenuEl.attr('data-offset'),
			onePageEasing = $onePageMenuEl.attr('data-easing');

		if( !onePageSpeed ) { onePageSpeed = 1000; }
		if( !onePageEasing ) { onePageEasing = 'easeOutQuad'; }

		$onePageMenuEl.find('a[data-href]').click(function(){
			var element = $(this),
				divScrollToAnchor = element.attr('data-href'),
				divScrollSpeed = element.attr('data-speed'),
				divScrollOffset = element.attr('data-offset'),
				divScrollEasing = element.attr('data-easing');

			if( $( divScrollToAnchor ).length > 0 ) {

				if( !onePageOffset ) {
					var onePageOffsetG = SEMICOLON.initialize.topScrollOffset();
				} else {
					var onePageOffsetG = onePageOffset;
				}

				if( !divScrollSpeed ) { divScrollSpeed = onePageSpeed; }
				if( !divScrollOffset ) { divScrollOffset = onePageOffsetG; }
				if( !divScrollEasing ) { divScrollEasing = onePageEasing; }

				if( $onePageMenuEl.hasClass('no-offset') ) { divScrollOffset = 0; }

				onePageGlobalOffset = Number(divScrollOffset);

				$onePageMenuEl.find('li').removeClass('current');
				$onePageMenuEl.find('a[data-href="' + divScrollToAnchor + '"]').parent('li').addClass('current');

				if( windowWidth  0 ) {
						$('#primary-menu > ul.mobile-primary-menu, #primary-menu > div > ul.mobile-primary-menu').toggleClass('show', false);
					} else {
						$('#primary-menu > ul, #primary-menu > div > ul').toggleClass('show', false);
					}
					$pagemenu.toggleClass('pagemenu-active', false );
				}

				$('html,body').stop(true).animate({
					'scrollTop': $( divScrollToAnchor ).offset().top - Number(divScrollOffset)
				}, Number(divScrollSpeed), divScrollEasing);

				onePageGlobalOffset = Number(divScrollOffset);
			}

			return false;
		});
	}
}

This will definitely work fine. Let us know if we can help you with anything else or if you find any further issues.

Have the same question, or something new?

Sign in to the Canvas dashboard to reply or open your own topic. Canvas owners get direct help from the SemiColonWeb team.

Reply on the dashboard