MooTools Fx.SmoothScroll()仅在最小屏幕宽度

时间:2016-08-01 14:28:30

标签: javascript mootools

是否有一种简单的方法可以在最小屏幕宽度初始化Fx.SmoothScroll,并在下面禁用它?

Ex,我只希望平滑滚动发生在400px以上。

为什么,因为显示/隐藏响应式菜单正在弄乱滚动目标位置,所以JS滚动目标。

更新: 我认为实际测量过渡元素的偏移量会更好,并在平滑滚动中设置它。我尝试了这个,但它没有用。

            $$('#nav ul li a.menu')[0].addEvent('click', function(){
                window.offset = $('nav').getSize().y - 32;
                console.log(window.offset)
            });
            new Fx.SmoothScroll({
                offset: {
                    y: -window.offset
                }
            });

如何更新每次点击的偏移?

1 个答案:

答案 0 :(得分:1)

在适当的"响应"路线,我想出了这个代码。

            var theScroll = new Fx.Scroll(window);
            $$('#nav ul li a.menu')[0].addEvent('click', function(e){
                e.preventDefault();
                offset = $('nav').getSize().y - 32;
                theScroll.options.offset.y = -offset;
                theScroll.toElement($('menu'),'y');
            });