, 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); })(); Glenn Weaver | 麻豆区

麻豆区

Skip to main content

Dr. Glenn Weaver

Professor Emeritus

Biography

Professor Weaver teaches Psychopathology (), Psychology of Motivation (), and Psychology and Religion (the senior capstone seminar, ).  He is currently serving as the psychology department chair. He grew up in New Jersey,  received a BA in psychology from Wheaton College  (Illinois), MDiv from Princeton Theological Seminary, and MA and PhD in experimental and social/personality psychology from Princeton University. In addition to his academic work, he is also an ordained minister in the Presbyterian Church U.S.A.  Professor Weaver has research interests in the areas of Alzheimer's dementia, addiction recovery,  psychological and theological understandings of human persons, and the nature of explanation in psychological science. He has recently spent time in Northern Ireland studying psychological and theological issues in efforts to promote reconciliation and peace between Protestant and Catholic Christians. He is a "railroad romantic" and whenever his schedule allows would rather conserve energy and take the train to get to his destination.

Education

M.Div. (Princeton Theological Seminary, 1972), M.A., Ph.D. (Princeton, 1974, 1978)

Professional Services

  • American Psychological Association: Division 2 and 50
  • Research presentations: International Conference on Treatment of Addictive Behaviors
  • Templeton Foundation Course Program in Science and Religion Council on Undergraduate Research