, but this code // executes before the first paint, when

黄大仙高手论坛

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); Gayle Ermer | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Dr. Gayle Ermer

Professor, department chair

Biography

Dr. Ermer primarily teaches courses related to the 鈥渉ard鈥 side of the mechanical engineering curriculum, including Dynamics of Machinery (ENGR 334) and Materials and Processes in Manufacturing (ENGR 324). She has taught the Engineering Instrumentation Laboratory (ENGR 382). She has also been a regular instructor for Introduction to Engineering Design (ENGR 101).

Education

  • Ph.D. in Mechanical Engineering, Michigan State University, 1994
    • Thesis topic: system dynamics and control, specifically the development of a three-dimensional environment for bond graph system modeling
  • M.S. in Manufacturing Systems Engineering, University of Wisconsin-Madison, 1987
  • B.S. in Engineering with a Mechanical Concentration, Calvin College, 1986

 

Academic Interests

  • Christian and philosophical perspectives on engineering and technology
  • Quality control, continuous improvement, and educational assessment
  • Women in engineering

Professional Services

Dr. Ermer is a member of the governing board of the Christian Engineering Society (CES). She currently serves as a program evaluator for the Engineering Accreditation Commission of ABET.

Professional Associations

  •  (ASEE)
  •  (ASME)