City of Hillsboro, OR | Home
Please enable JavaScript in your browser for a better user experience.
a[data-navid=”1″]’).closest(‘li’).addClass(‘active’); }); ]]]]]]>]]]]>]]> li.active”); $(“.mainnav > .dropdownmenu > li”).hoverIntent( //what happens on hover over function () { //end timer and stop hiding if they are mousing back in. if (timer != null) { clearTimeout(timer); timer = null; } // Find the hovered menu’s sub-menu var $menu = $(this); var $submenu = $(this).find(dropdowncontainer); // hide any other submenus that are open $(‘.mainnav > .dropdownmenu>li’ + dropdowncontainer).not($submenu).css(‘display’, ‘none’); $(‘.mainnav > .dropdownmenu li.active’).not($menu).not(activePage).removeClass(‘active’); // show current menu $submenu.css(‘display’, ‘block’); $menu.addClass(‘active’); }, //what happens on mouse out function () { var $submenu = $(this).find(dropdowncontainer); var $menu = $(this); // delay disappearance var mouseDelay = $(this).data(“mouseDelay”) || delay; clearTimeout(timer); timer = setTimeout(function () { $submenu.css(‘display’, ‘none’); $menu.not(activePage).removeClass(‘active’); clearTimeout(timer); timer = null; }, mouseDelay); } ); $(‘body’).bind(‘keyup’, function (event) { if (event.keyCode == 9) { // Find the hovered menu’s sub-menu var $menu = $(event.target).closest(‘li’); if ($menu.hasClass(‘megamenu_first’)) { var $submenu = $menu.find(dropdowncontainer); // hide any other submenus that are open $(‘.mainnav > .dropdownmenu>li’ + dropdowncontainer).not($submenu).css(‘display’, ‘none’); $(‘.mainnav > .dropdownmenu li.active’).not($menu).not(activePage).removeClass(‘active’); // show current menu $submenu.css(‘display’, ‘block’); $menu.addClass(‘active’); } } }); }); ]]]]]]>]]]]>]]> -1; } function isIE9(userAgent) { userAgent = userAgent || navigator.userAgent; return userAgent.indexOf(“MSIE 9”) > -1; } function isTouchScreenEvent(event) { var _isTouchScreen = false; if (“ontouchstart” in window) { _isTouchScreen = true; } else if (“onpointerdown” in window) { _isTouchScreen = event.originalEvent.pointerType == “touch”; } else if (window.MSPointerEvent) { _isTouchScreen = event.originalEvent.pointerType == event.originalEvent.MSPOINTER_TYPE_TOUCH; // 2 ; http://blogs.msdn.com/b/ie/archive/2011/09/20/touch-input-for-ie10-and-metro-style-apps.aspx } else { } return _isTouchScreen; } var _isIE = isIE(); var _isIE9 = isIE9(); var isMegaMenu = $(‘.megamenu_first’, menuContainer).length > 0; var currentMenu = $(‘> ul.dropdownmenu > li.active’, menuContainer); $(function () { if (currentMenu.length == 0) currentMenu = $(‘> ul.dropdownmenu > li.active’, menuContainer); }); if ((“ontouchstart” in window // Chrome & Safari (IOS) && Firefox || “onpointerdown” in window // IE 11 || window.MSPointerEvent // IE 10 ) && ($(window).width() > 648)) { var eventName = “ontouchstart” in window ? “touchstart” : “onpointerdown” in window ? “pointerdown” : window.MSPointerEvent ? “MSPointerDown” : “”; if (eventName.length > 0) { $(‘> ul.dropdownmenu li>a[data-navid]’, menuContainer).bind(eventName, function (event) { if (isTouchScreenEvent(event) == false) { return true; } var currentLevelAnchor = $(this); var currentLeveLi = currentLevelAnchor.closest(“li”); var firstLevelLi = currentLevelAnchor.closest(“li[id^=’dropdownrootitem’]”); var firstLevelAnchor = firstLevelLi.find(“>a[data-navid]”); var inFirstLevel = currentLevelAnchor[0] == firstLevelAnchor[0]; var hasSubMenu = currentLevelAnchor.next(“ul,div”).length > 0; if (hasSubMenu) { $(this).closest(“li”).data(“mouseDelay”, 1); // Menu is not selected if (!firstLevelLi.hasClass(‘touch-active’)) { if ($(this).attr(“href”)) { $(this).attr(“data-href”, $(this).attr(“href”)); $(this).attr(“href”, “javascript:void(0);”); } $(menuContainer).find(‘.touch-active’).removeClass(‘touch-active’).not(currentMenu).removeClass(‘active’); firstLevelLi.addClass(‘touch-active active’); currentLevelAnchor.addClass(‘touch-active active’); currentMenu.addClass(“active”); $(‘ li:not(.touch-active)’, menuContainer).not(firstLevelLi).removeClass(‘_current’); $(‘ li:not(.touch-active) li’, menuContainer).not(currentLeveLi).removeClass(‘_current’); $(‘> ul.dropdownmenu > li:not(.touch-active) > a[data-navid]’, menuContainer).next().css(‘display’, ‘none’); $(‘> ul.dropdownmenu > li.touch-active > a[data-navid]’, menuContainer).next().css(‘display’, ‘block’); event.preventDefault(); } // Menu is selected else { if (inFirstLevel) { // non clickable if (currentLevelAnchor.attr(‘href’) == undefined) { //has class touch-active and no link removeClassAndHideMenu(); event.preventDefault(); } else if ($(this).attr(“data-href”)) { //clickable, but href have been moved to data. $(this).attr(“href”, $(this).attr(“data-href”)); } } else { if (isMegaMenu) return true; if (!currentLeveLi.hasClass(‘touch-active’)) { if ($(this).attr(“href”)) { $(this).attr(“data-href”, $(this).attr(“href”)); $(this).attr(“href”, “javascript:void(0);”); } $(firstLevelLi).find(‘.touch-active’).removeClass(‘touch-active’).not(currentMenu).removeClass(‘active’); currentLeveLi.parent().children(“li._current”).removeClass(“_current”); currentLeveLi.addClass(‘touch-active active _current’); currentLevelAnchor.addClass(‘touch-active active’); //$(‘ li:not(.touch-active)’, menuContainer).not(firstLevelLi).removeClass(‘_current’); //$(‘ li:not(.touch-active) li’, menuContainer).not(currentLeveLi).removeClass(‘_current’); $(‘ li:not(.touch-active) > a[data-navid]’, currentLeveLi.parent()).next().css(‘display’, ‘none’); $(‘> li.touch-active > a[data-navid]’, currentLeveLi.parent()).next().css(‘display’, ‘block’); event.preventDefault(); } else { if (currentLevelAnchor.attr(‘href’) == undefined) { //has class touch-active and no link removeClassAndHideMenu(); event.preventDefault(); } else if ($(this).attr(“data-href”)) { $(this).attr(“href”, $(this).attr(“data-href”)); } } } } } }); } } function removeClassAndHideMenu() { $(menuContainer).find(‘a.touch-active, li.touch-active’).removeClass(‘touch-active active’); $(‘> ul.dropdownmenu > li > a[data-navid]’, menuContainer).next().css(‘display’, ‘none’); // If we don’t change the menu item, we should keep the old one. if ($(‘> ul.dropdownmenu > li.active’, menuContainer).length == 0) { currentMenu.addClass(“active”); } } $(‘body’).bind(eventName, function (event) { if (isTouchScreenEvent(event) == false) { return true; } if (!$(event.target).closest(‘li.touch-active’).length) { removeClassAndHideMenu(); } }); } //); ]]]]]]>]]]]>]]> News and Announcements
News & Announcements
All News
Source