http://www.qianduanheidong.com/blog/article/317665/587ddcad335e52dce6a9/
let scenes = [];// init controllervar controller = new ScrollMagic.Controller();
$('.slide').each(function(index) {
var trigger = '#slide-' + index + ' .trigger';
var audio = '#slide-' + index + ' audio';
scenes[index] = new ScrollMagic.Scene({
triggerElement: trigger,
triggerHook: 'onCenter',
duration: '50%'
})
.addIndicators({
name: trigger,
colorEnd: "#00FFFF"
})
.on('enter', function() {
let audio = $('audio')
console.log('Playing audio at index', index)
audio[index].play();
})
.on('leave', function() {
console.log('Leave' + trigger);
})
.addTo(controller);
});<script src="https://code.jquery.com/jquery-3.3.1.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.6/ScrollMagic.min.js"></script><script src="//cdnjs.cloudflare.com/ajax/libs/ScrollMagic/2.0.6/plugins/debug.addIndicators.min.js"></script><div id="slide-1"> <div></div> <audio src="https://sample-videos.com/audio/mp3/crowd-cheering.mp3" preload="auto"></audio></div><div id="slide-2"> <div></div> <audio src="https://sample-videos.com/audio/mp3/crowd-cheering.mp3" preload="auto"></audio></div><div id="slide-3"> <div></div> <audio src="https://sample-videos.com/audio/mp3/crowd-cheering.mp3" preload="auto"></audio></div>
如果通过 setPin 方法固定某个元素,默认情况下,场景元素下方将出现空白,且随着网页的滚动而被向下推压的场景元
动画开始时, box5 进入(第一次进入)视口 gsap.to(.box2,{scrollTrigger:.box5,//当出现这个dom的时候,.box2会向x移动500px,类似于一
//Notrecommendedx:50%,y:50%,//RecommendedxPercent:50,yPercent:50//Therightmethodx:100,y:300,xPercent:50,yPercent:50 简单使用,相当于页面加载完