, 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); })(); 100 years of Handel's Messiah - News & Stories | 黄大仙高手论坛

黄大仙高手论坛

Skip to main content

Spark

100 years of Handel's Messiah

Sun, Dec 01, 2019

On Dec. 6 and 7, the Calvin Oratorio Society presented its traditional Christmas season performance of Handel鈥檚 Messiah for the 100th time. Thousands of community members have taken the stage over the past century. Sean Ivory sang in the choir as a student in the early 1990s. Since 2013, he鈥檚 worn the conductor鈥檚 hat, serving as the society鈥檚 seventh director.

鈥淚t鈥檚 really thrilling. When I came on board to take over the directorship, it [Messiah] became one of the favorite things I was doing,鈥 said Ivory.

Members of the chorus span generations and all walks of life; some are professional musicians and music teachers. Ivory says the community that鈥檚 formed is as beautiful as the music.

鈥淵ou have a lot of people who have sung in it for decades, and some for whom this is the first experience singing the Messiah,鈥 said Ivory. 鈥淲e do devotions every week; it鈥檚 become a time when various people will go up in front and give their own testimony, and it really is a beautiful time for everyone to get to know another chorus member a little more deeply and refocus on why we are all there.鈥