当我点击页面底部时,使用 magicscroll 和 greensock 所做的每项更改都会重置
Every change done with magicscroll and greensock get reset when I hit the bottom of the page
我正在使用 ScrollMagic 和 Greensock 构建侧点导航(有四个点)。一切正常,直到我滚动到页面底部。然后,当我向上滚动时,我的点变得混乱,它们无法正常工作(当我在页面底部的正上方时,第一个点被突出显示),直到我到达页面顶部然后开始再次向下滚动。
此外,无论我是从页面底部还是顶部滚动,setClassToggle 在所有位置都能完美运行。
$(document).ready(function(){
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses0 = TweenLite.set($(['#home_b', '#services_b',
'#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass0=TweenLite.set($("#about_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses0).add(setSingleClass0);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#about'
})
.setTween(timeline)
.setClassToggle('#about', 'fade-in')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline1 = new TimelineLite();
var setMultipleClasses1 = TweenLite.set($(['#home_b', '#about_b',
'#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass1=TweenLite.set($("#services_b"),{
className: "dot name-active"
});
timeline1.add(setMultipleClasses1).add(setSingleClass1);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#s_id',
triggerHook: 0.7
})
.setTween(timeline1)
.setClassToggle('#s_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline2 = new TimelineLite();
var setMultipleClasses2 = TweenLite.set($(['#about_b', '#services_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass2=TweenLite.set($("#home_b"),{
className: "dot name-active"
});
timeline2.add(setMultipleClasses2).add(setSingleClass2);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#h_id',
triggerHook: "0.00"
})
.setTween(timeline2)
.setClassToggle('#h_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline3 = new TimelineLite();
var setMultipleClasses3 = TweenLite.set($(['#home_b', '#services_b', '#about_b']), {
className: "dot name-inactive"
});
var setSingleClass3=TweenLite.set($("#contact_b"),{
className: "dot name-active"
});
timeline3.add(setMultipleClasses3).add(setSingleClass3);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#c_id'
})
.setTween(timeline3)
.setClassToggle('#c_id', 'fade-out')
.addTo(controller);
});
解决了伙计们。
我的点在 HTML 中是这样使用的:
<li><a href="#home" id="home_b" class="dot name-inactive"><span>Home</span></a></li>
<li><a href="#about" id="about_b" class="dot name-inactive"><span>About</span></a></li>
<li><a href="#services" id="services_b" class="dot name-inactive"><span>Services</span></a></li>
<li><a href="#contact" id="contact_b" class="dot name-inactive"><span>Contact</span></a></li>
问题已通过按照我使用 HTML 文件的确切顺序声明场景来解决。
下面是工作代码。
$(document).ready(function(){
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses2 = TweenLite.set($(['#about_b', '#services_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass2=TweenLite.set($("#home_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses2).add(setSingleClass2);
var ourScene = new ScrollMagic.Scene({
triggerElement:"#h_id"
})
.setTween(timeline)
.setClassToggle('#h_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
// Create a .set() tween to add "red and bold" classes
var setMultipleClasses0 = TweenLite.set($(['#home_b', '#services_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass0=TweenLite.set($("#about_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses0).add(setSingleClass0);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#about'
})
.setTween(timeline)
.setClassToggle('#about', 'fade-in')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses1 = TweenLite.set($(['#home_b', '#about_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass1=TweenLite.set($("#services_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses1).add(setSingleClass1);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#s_id',
triggerHook: 0.7
})
.setTween(timeline)
.setClassToggle('#s_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses3 = TweenLite.set($(['#home_b', '#services_b', '#about_b']), {
className: "dot name-inactive"
});
var setSingleClass3=TweenLite.set($("#contact_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses3).add(setSingleClass3);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#c_id'
})
.setTween(timeline)
.setClassToggle('#c_id', 'fade-out')
.addTo(controller);
});
我正在使用 ScrollMagic 和 Greensock 构建侧点导航(有四个点)。一切正常,直到我滚动到页面底部。然后,当我向上滚动时,我的点变得混乱,它们无法正常工作(当我在页面底部的正上方时,第一个点被突出显示),直到我到达页面顶部然后开始再次向下滚动。
此外,无论我是从页面底部还是顶部滚动,setClassToggle 在所有位置都能完美运行。
$(document).ready(function(){
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses0 = TweenLite.set($(['#home_b', '#services_b',
'#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass0=TweenLite.set($("#about_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses0).add(setSingleClass0);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#about'
})
.setTween(timeline)
.setClassToggle('#about', 'fade-in')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline1 = new TimelineLite();
var setMultipleClasses1 = TweenLite.set($(['#home_b', '#about_b',
'#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass1=TweenLite.set($("#services_b"),{
className: "dot name-active"
});
timeline1.add(setMultipleClasses1).add(setSingleClass1);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#s_id',
triggerHook: 0.7
})
.setTween(timeline1)
.setClassToggle('#s_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline2 = new TimelineLite();
var setMultipleClasses2 = TweenLite.set($(['#about_b', '#services_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass2=TweenLite.set($("#home_b"),{
className: "dot name-active"
});
timeline2.add(setMultipleClasses2).add(setSingleClass2);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#h_id',
triggerHook: "0.00"
})
.setTween(timeline2)
.setClassToggle('#h_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline3 = new TimelineLite();
var setMultipleClasses3 = TweenLite.set($(['#home_b', '#services_b', '#about_b']), {
className: "dot name-inactive"
});
var setSingleClass3=TweenLite.set($("#contact_b"),{
className: "dot name-active"
});
timeline3.add(setMultipleClasses3).add(setSingleClass3);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#c_id'
})
.setTween(timeline3)
.setClassToggle('#c_id', 'fade-out')
.addTo(controller);
});
解决了伙计们。
我的点在 HTML 中是这样使用的:
<li><a href="#home" id="home_b" class="dot name-inactive"><span>Home</span></a></li>
<li><a href="#about" id="about_b" class="dot name-inactive"><span>About</span></a></li>
<li><a href="#services" id="services_b" class="dot name-inactive"><span>Services</span></a></li>
<li><a href="#contact" id="contact_b" class="dot name-inactive"><span>Contact</span></a></li>
问题已通过按照我使用 HTML 文件的确切顺序声明场景来解决。 下面是工作代码。
$(document).ready(function(){
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses2 = TweenLite.set($(['#about_b', '#services_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass2=TweenLite.set($("#home_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses2).add(setSingleClass2);
var ourScene = new ScrollMagic.Scene({
triggerElement:"#h_id"
})
.setTween(timeline)
.setClassToggle('#h_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
// Create a .set() tween to add "red and bold" classes
var setMultipleClasses0 = TweenLite.set($(['#home_b', '#services_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass0=TweenLite.set($("#about_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses0).add(setSingleClass0);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#about'
})
.setTween(timeline)
.setClassToggle('#about', 'fade-in')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses1 = TweenLite.set($(['#home_b', '#about_b', '#contact_b']), {
className: "dot name-inactive"
});
var setSingleClass1=TweenLite.set($("#services_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses1).add(setSingleClass1);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#s_id',
triggerHook: 0.7
})
.setTween(timeline)
.setClassToggle('#s_id', 'fade-out')
.addTo(controller);
/*----------------------------------------*/
var controller = new ScrollMagic.Controller();
var timeline = new TimelineLite();
var setMultipleClasses3 = TweenLite.set($(['#home_b', '#services_b', '#about_b']), {
className: "dot name-inactive"
});
var setSingleClass3=TweenLite.set($("#contact_b"),{
className: "dot name-active"
});
timeline.add(setMultipleClasses3).add(setSingleClass3);
var ourScene = new ScrollMagic.Scene({
triggerElement:'#c_id'
})
.setTween(timeline)
.setClassToggle('#c_id', 'fade-out')
.addTo(controller);
});