web/themes/dropdownmenus/js/topnav.js (21 lines of code) (raw):

/* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with * this work for additional information regarding copyright ownership. * The ASF licenses this file to You under the Apache License, Version 2.0 * (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ function handleTopNav(e) { var resptest = document.getElementById('rightmenubox'); if(getComputedStyle(resptest, null).display == 'none') { document.getElementById('site-navigation').style.position = 'relative'; return; } var test = document.getElementById('above-site-navigation'); var nav = document.getElementById('site-navigation'); var box = test.getBoundingClientRect(); var pos = nav.style.position; var btop = box.y; if(typeof(btop) === 'undefined' && typeof(box.top) !== 'undefined') btop = box.top; if(btop < 0) { nav.style.position = 'fixed'; } else { nav.style.position = 'relative'; } } window.addEventListener('scroll', handleTopNav, 0);