`; this.DOM.el.insertBefore(this.DOM.svg, this.DOM.nav); this.DOM.shape = this.DOM.svg.querySelector('path'); } updateFrame() { this.paths.initial = this.calculatePath('initial'); this.paths.final = this.calculatePath('final'); this.DOM.svg.setAttribute('viewbox',`0 0 ${this.rect.width} ${this.rect.height}`); this.DOM.shape.setAttribute('d', this.paths.initial); } calculatePath(path = 'initial') { if ( path === 'initial' ) { return `M 0,0 0,${this.rect.height} ${this.rect.width},${this.rect.height} ${this.rect.width},0 0,0 Z M 0,0 ${this.rect.width},0 ${this.rect.width},${this.rect.height} 0,${this.rect.height} Z`; } else { return { step1: `M 0,0 0,${this.rect.height} ${this.rect.width},${this.rect.height} ${this.rect.width},0 0,0 Z M ${this.frameSize},${this.frameSize} ${this.rect.width},0 ${this.rect.width},${this.rect.height} 0,${this.rect.height} Z`, step2: `M 0,0 0,${this.rect.height} ${this.rect.width},${this.rect.height} ${this.rect.width},0 0,0 Z M ${this.frameSize},${this.frameSize} ${this.rect.width-this.frameSize},${this.frameSize} ${this.rect.width},${this.rect.height} 0,${this.rect.height} Z`, step3: `M 0,0 0,${this.rect.height} ${this.rect.width},${this.rect.height} ${this.rect.width},0 0,0 Z M ${this.frameSize},${this.frameSize} ${this.rect.width-this.frameSize},${this.frameSize} ${this.rect.width-this.frameSize},${this.rect.height-this.frameSize} 0,${this.rect.height} Z`, step4: `M 0,0 0,${this.rect.height} ${this.rect.width},${this.rect.height} ${this.rect.width},0 0,0 Z M ${this.frameSize},${this.frameSize} ${this.rect.width-this.frameSize},${this.frameSize} ${this.rect.width-this.frameSize},${this.rect.height-this.frameSize} ${this.frameSize},${this.rect.height-this.frameSize} Z` } } } initEvents() { this.DOM.nextCtrl.addEventListener('click', () => this.navigate('next')); this.DOM.prevCtrl.addEventListener('click', () => this.navigate('prev')); window.addEventListener('resize', debounce(() => { this.rect = this.DOM.el.getBoundingClientRect(); this.updateFrame(); }, 20)); } navigate(dir = 'next') { if ( this.isAnimating ) return false; this.isAnimating = true; const animateShapeInTimeline = anime.timeline({ duration: this.settings.animation.shape.duration, easing: this.settings.animation.shape.easing.in }); animateShapeInTimeline .add({ targets: this.DOM.shape, d: this.paths.final.step1 }) .add({ targets: this.DOM.shape, d: this.paths.final.step2, offset: `-=${this.settings.animation.shape.duration*.5}` }) .add({ targets: this.DOM.shape, d: this.paths.final.step3, offset: `-=${this.settings.animation.shape.duration*.5}` }) .add({ targets: this.DOM.shape, d: this.paths.final.step4, offset: `-=${this.settings.animation.shape.duration*.5}` }); const animateSlides = () => { return new Promise((resolve, reject) => { const currentSlide = this.DOM.slides[this.current]; anime({ targets: currentSlide, duration: this.settings.animation.slides.duration, easing: this.settings.animation.slides.easing, translateX: dir === 'next' ? -1*this.rect.width : this.rect.width, complete: () => { currentSlide.classList.remove('slide--current'); resolve(); } }); this.current = dir === 'next' ? this.current < this.slidesTotal-1 ? this.current + 1 : 0 : this.current > 0 ? this.current - 1 : this.slidesTotal-1; const newSlide = this.DOM.slides[this.current]; newSlide.classList.add('slide--current'); anime({ targets: newSlide, duration: this.settings.animation.slides.duration, easing: this.settings.animation.slides.easing, translateX: [dir === 'next' ? this.rect.width : -1*this.rect.width,0] }); const newSlideImg = newSlide.querySelector('#id_de8cdd27e9a5a7d009687ffd .slide__img'); anime.remove(newSlideImg); anime({ targets: newSlideImg, duration: this.settings.animation.slides.duration*4, easing: this.settings.animation.slides.easing, translateX: [dir === 'next' ? 200 : -200, 0] }); anime({ targets: [newSlide.querySelector('#id_de8cdd27e9a5a7d009687ffd .slide__title'), newSlide.querySelector('#id_de8cdd27e9a5a7d009687ffd .slide__desc'), newSlide.querySelector('#id_de8cdd27e9a5a7d009687ffd .slide__link')], duration: this.settings.animation.slides.duration*2, easing: this.settings.animation.slides.easing, delay: (t,i) => i*100+100, translateX: [dir === 'next' ? 300 : -300,0], opacity: [0,1] }); }); }; const animateShapeOut = () => { const animateShapeOutTimeline = anime.timeline({ duration: this.settings.animation.shape.duration, easing: this.settings.animation.shape.easing.out }); animateShapeOutTimeline .add({ targets: this.DOM.shape, d: this.paths.final.step3 }) .add({ targets: this.DOM.shape, d: this.paths.final.step2, offset: `-=${this.settings.animation.shape.duration*.5}` }) .add({ targets: this.DOM.shape, d: this.paths.final.step1, offset: `-=${this.settings.animation.shape.duration*.5}` }) .add({ targets: this.DOM.shape, d: this.paths.initial, offset: `-=${this.settings.animation.shape.duration*.5}`, complete: () => this.isAnimating = false }); } animateShapeInTimeline.finished.then(animateSlides).then(animateShapeOut); } }; new Slideshow(document.querySelector('#id_de8cdd27e9a5a7d009687ffd .slideshow')); imagesLoaded('#id_de8cdd27e9a5a7d009687ffd .slide__img', { background: true }, () => document.body.classList.remove('b_loading')); });
形式由來
篝火晚會最早的追溯可以到遠古時代.當時的篝火晚會是草原人民的一種傳統歡慶形式之一,相傳在遠古時代,人們學會了鉆木取火這后便發現火不僅可以烤熟食物,還可以驅嚇野獸,保護部族子民的生命安全,于是,草原人民開始對火產生了最初崇敬之情.后來,人們外出打獵滿載而歸之時,都會互相慶祝豐厚的戰利品以示豐收和凱旋之意,在烤煮烹調食物的過程中,大家便互相拉手圍繞火堆跳起了具有部落和民族特色舞蹈來表達喜悅的心情,這種歡慶的形式經過不斷的傳承演變及發展和融新,就形成了今天的戶外篝火聯誼晚會.
重要載體
篝火與燒烤還有啤酒和全羊一定有你所愛
引爆全場能量帶你裝@帶你飛的節奏
就向星空許個心愿讓它知道……
讓企業家文化和關懷文化落地的完美呈現
花絮剪影
對團隊的意義
戶外篝火聯誼晚會則在上海巡洋艦專門的體驗式培訓基地進行,所有伙伴圍繞熊熊的篝火,舉行盛大的點火儀式,在巡洋艦體驗式培訓的專業教練帶領下,展開別致風趣的互動良超強的晚會項目.幫助學員進行合理科學的壓力釋放和心情的放松,為企業團隊提供一個更加開放自由的展示自我和了解伙伴的交流分享的職場外舞臺,幫助團隊融洽內部關系,提升員工積極的正能量和良好的工作狀態。篝火也可結合美味燒烤進行,秀色可的美食+生動互動晚會+高潮跌起的表演,給你和你的伙伴留下難忘記憶……
戶外篝火聯誼晚會則在上海巡洋艦專門的體驗式培訓基地進行,所有伙伴圍繞熊熊的篝火,舉行盛大的點火儀式,在巡洋艦體驗式培訓的專業教練帶領下,展開別致風趣的互動良超強的晚會項目.幫助學員進行合理科學的壓力釋放和心情的放松,為企業團隊提供一個更加開放自由的展示自我和了解伙伴的交流分享的職場外舞臺,幫助團隊融洽內部關系,提升員工積極的正能量和良好的工作狀態。篝火也可結合美味燒烤進行,秀色可的美食+生動互動晚會+高潮跌起的表演,給你和你的伙伴留下難忘記憶……
戶外篝火聯誼晚會則在上海巡洋艦專門的體驗式培訓基地進行,所有伙伴圍繞熊熊的篝火,舉行盛大的點火儀式,在巡洋艦體驗式培訓的專業教練帶領下,展開別致風趣的互動良超強的晚會項目.幫助學員進行合理科學的壓力釋放和心情的放松,為企業團隊提供一個更加開放自由的展示自我和了解伙伴的交流分享的職場外舞臺,幫助團隊融洽內部關系,提升員工積極的正能量和良好的工作狀態。篝火也可結合美味燒烤進行,秀色可的美食+生動互動晚會+高潮跌起的表演,給你和你的伙伴留下難忘記憶……
山东十一选五开奖直播