PDA

View Full Version : form select menu on mobile nav menu issue



ianhaney
05-23-2017, 10:02 AM
Hi

I have developed a website for a new client and am using a template and on mobile view, the nav menu turns into a form select option menu and it works but I can't select the home link within the select option menu

below is the coding for the mobile form select menu



<div class="columns large-12 small-top-menu">
<div class="row">
<div class="columns large-12 plr0 top-nav">
<form name="dropdown" class="dropdown" action="#">
<nav>
<section>
<select name="selected" id="target" accesskey="E" onChange="goToNewPage(document.dropdown.selected)">
<option value="./index.php">Home</option>
<option value="./commercial-mortgages.php">Commercial Mortgages</option>
<option value="./secured-loans.php">Secured Loans</option>
<option value="./bridging-loans.php">Bridging Loans</option>
<option value="./buy-to-let-mortgages.php">Buy To Let Mortgages</option>
<option value="./contact.php">Contact Us</option>
</select>
</section>
</nav>
</form>
</div>
</div>
</div>


the javascript is below



function goToNewPage() {
if (document.getElementById('target').value) {
window.location.href = document.getElementById('target').value;
}
}


Not sure if the following is needed to look at as well



/*
* Superfish v1.7.2 - jQuery menu widget
* Copyright (c) 2013 Joel Birch
*
* Dual licensed under the MIT and GPL licenses:
* http://www.opensource.org/licenses/mit-license.php
* http://www.gnu.org/licenses/gpl.html
*/

;(function($) {

var methods = (function(){
// private properties and methods go here
var c = {
bcClass: 'sf-breadcrumb',
menuClass: 'sf-js-enabled',
anchorClass: 'sf-with-ul',
menuArrowClass: 'sf-arrows'
},
ios = /iPhone|iPad|iPod/i.test(navigator.userAgent),
wp7 = (function() {
var style = document.documentElement.style;
return ('behavior' in style && 'fill' in style && /iemobile/i.test(navigator.userAgent));
})(),
fixIos = (function(){
if (ios) {
// iOS clicks only bubble as far as body children
$(window).load(function() {
$('body').children().on('click', $.noop);
});
}
})(),
toggleMenuClasses = function($menu, o) {
var classes = c.menuClass;
if (o.cssArrows) {
classes += ' ' + c.menuArrowClass;
}
$menu.toggleClass(classes);
},
setPathToCurrent = function($menu, o) {
return $menu.find('li.' + o.pathClass).slice(0, o.pathLevels)
.addClass(o.hoverClass + ' ' + c.bcClass)
.filter(function() {
return ($(this).children('ul').hide().show().length);
}).removeClass(o.pathClass);
},
toggleAnchorClass = function($li) {
$li.children('a').toggleClass(c.anchorClass);
},
toggleTouchAction = function($menu) {
var touchAction = $menu.css('ms-touch-action');
touchAction = (touchAction === 'pan-y') ? 'auto' : 'pan-y';
$menu.css('ms-touch-action', touchAction);
},
applyHandlers = function($menu,o) {
var targets = 'li:has(ul)';
if ($.fn.hoverIntent && !o.disableHI) {
$menu.hoverIntent(over, out, targets);
}
else {
$menu
.on('mouseenter.superfish', targets, over)
.on('mouseleave.superfish', targets, out);
}
var touchevent = 'MSPointerDown.superfish';
if (!ios) {
touchevent += ' touchend.superfish';
}
if (wp7) {
touchevent += ' mousedown.superfish';
}
$menu
.on('focusin.superfish', 'li', over)
.on('focusout.superfish', 'li', out)
.on(touchevent, 'a', touchHandler);
},
touchHandler = function(e) {
var $this = $(this),
$ul = $this.siblings('ul');

if ($ul.length > 0 && $ul.is(':hidden')) {
$this.one('click.superfish', false);
if (e.type === 'MSPointerDown') {
$this.trigger('focus');
} else {
$.proxy(over, $this.parent('li'))();
}
}
},
over = function() {
var $this = $(this),
o = getOptions($this);
clearTimeout(o.sfTimer);
$this.siblings().superfish('hide').end().superfish('show');
},
out = function() {
var $this = $(this),
o = getOptions($this);
if (ios) {
$.proxy(close, $this, o)();
}
else {
clearTimeout(o.sfTimer);
o.sfTimer = setTimeout($.proxy(close, $this, o), o.delay);
}
},
close = function(o) {
o.retainPath = ( $.inArray(this[0], o.$path) > -1);
this.superfish('hide');

if (!this.parents('.' + o.hoverClass).length) {
o.onIdle.call(getMenu(this));
if (o.$path.length) {
$.proxy(over, o.$path)();
}
}
},
getMenu = function($el) {
return $el.closest('.' + c.menuClass);
},
getOptions = function($el) {
return getMenu($el).data('sf-options');
};

return {
// public methods
hide: function(instant) {
if (this.length) {
var $this = this,
o = getOptions($this);
if (!o) {
return this;
}
var not = (o.retainPath === true) ? o.$path : '',
$ul = $this.find('li.' + o.hoverClass).add(this).not(not).removeClass(o.hoverClass).children('ul'),
speed = o.speedOut;

if (instant) {
$ul.show();
speed = 0;
}
o.retainPath = false;
o.onBeforeHide.call($ul);
$ul.stop(true, true).animate(o.animationOut, speed, function() {
var $this = $(this);
o.onHide.call($this);
});
}
return this;
},
show: function() {
var o = getOptions(this);
if (!o) {
return this;
}
var $this = this.addClass(o.hoverClass),
$ul = $this.children('ul');

o.onBeforeShow.call($ul);
$ul.stop(true, true).animate(o.animation, o.speed, function() {
o.onShow.call($ul);
});
return this;
},
destroy: function() {
return this.each(function(){
var $this = $(this),
o = $this.data('sf-options'),
$liHasUl = $this.find('li:has(ul)');
if (!o) {
return false;
}
clearTimeout(o.sfTimer);
toggleMenuClasses($this, o);
toggleAnchorClass($liHasUl);
toggleTouchAction($this);
// remove event handlers
$this.off('.superfish').off('.hoverIntent');
// clear animation's inline display style
$liHasUl.children('ul').attr('style', function(i, style){
return style.replace(/display[^;]+;?/g, '');
});
// reset 'current' path classes
o.$path.removeClass(o.hoverClass + ' ' + c.bcClass).addClass(o.pathClass);
$this.find('.' + o.hoverClass).removeClass(o.hoverClass);
o.onDestroy.call($this);
$this.removeData('sf-options');
});
},
init: function(op){
return this.each(function() {
var $this = $(this);
if ($this.data('sf-options')) {
return false;
}
var o = $.extend({}, $.fn.superfish.defaults, op),
$liHasUl = $this.find('li:has(ul)');
o.$path = setPathToCurrent($this, o);

$this.data('sf-options', o);

toggleMenuClasses($this, o);
toggleAnchorClass($liHasUl);
toggleTouchAction($this);
applyHandlers($this, o);

$liHasUl.not('.' + c.bcClass).superfish('hide',true);

o.onInit.call(this);
});
}
};
})();

$.fn.superfish = function(method, args) {
if (methods[method]) {
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
}
else if (typeof method === 'object' || ! method) {
return methods.init.apply(this, arguments);
}
else {
return $.error('Method ' + method + ' does not exist on jQuery.fn.superfish');
}
};

$.fn.superfish.defaults = {
hoverClass: 'sfHover',
pathClass: 'overrideThisToUse',
pathLevels: 1,
delay: 800,
animation: {opacity:'show'},
animationOut: {opacity:'hide'},
speed: 'normal',
speedOut: 'fast',
cssArrows: true,
disableHI: false,
onInit: $.noop,
onBeforeShow: $.noop,
onShow: $.noop,
onBeforeHide: $.noop,
onHide: $.noop,
onIdle: $.noop,
onDestroy: $.noop
};

// soon to be deprecated
$.fn.extend({
hideSuperfishUl: methods.hide,
showSuperfishUl: methods.show
});

})(jQuery);


Thank you in advance

The site is https://www.broadwaymediadesigns.co.uk/sites/first-mortgages/index.php