javascript - scrollMagic - 如何滚动到正确的位置?

标签 javascript jquery scroll scrollmagic

确实有这样的事情。 https://jsfiddle.net/j6u6wp7x/1/

var scene;
var controller;
$(document).ready(function() {
    parallaxAuto();
    $('.viewer__nav div').click(function(event) {
        var num = $(this).attr('data-num');
        if (num == 'sticky') {
            controller.scrollTo(scene);
        }
        var scrollPos = controller.info("scrollPos");
    });
});

function hideShow(num, block) {
  block.find("div.active").removeClass("active").animate({ opacity: 0,},300);
  block.find("div.slide"+num).addClass("active").animate({ opacity: 1,},300);
}
// init variables
function parallaxAuto() {
    var viewer       = document.querySelector('.viewer.active'),
    frame_count  = 5,
    offset_value = 500;

    // init controller
    controller = new ScrollMagic.Controller({
      globalSceneOptions: {
        triggerHook: 0,
        reverse: true
      }
    });

    // build pinned scene
    scene = new ScrollMagic.Scene({
      triggerElement: '#sticky',
      duration: (frame_count * offset_value) + 'px',
      reverse: true
    })
    .setPin('#sticky')
    //.addIndicators()
    .addTo(controller);

    // build step frame scene
    for (var i = 1, l = frame_count; i <= l; i++) {
      new ScrollMagic.Scene({
          triggerElement: '#sticky',
          offset: i * offset_value
        })
        .setClassToggle(viewer, 'frame' + i)
        //.addIndicators()
        .addTo(controller);
    }
}

下面有 3 个较小的图像,用于创建导航。我成功跳到了顶部,但我不知道如何跳到第二或第三。

varscrollPos=controller.info("scrollPos");显示当前位置,但我无法想象如何正确使用它。

最佳答案

我没有仔细阅读您的代码,但在类似的情况下,我们使用了 JavaScript(而不是 jQuery)的 scrollIntoView() 函数。

var element = document.getElementById('id of your image');
element.scrollIntoView(false);

这么多代码应该可以解决问题。 希望对您有所帮助。

编辑:1

嗨,我更新了您的 fiddle ,我认为我们需要将场景存储在数组中,然后稍后再引用。我猜您正在寻找类似的东西。

关于javascript - scrollMagic - 如何滚动到正确的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36864810/

相关文章:

javascript - 双重提交表单会产生验证问题

javascript - JQuery 移动表单验证

jquery - fancybox - 当 fancybox 聚焦时如何滚动页面

javascript - 向 bpmn-js 查看器添加颜色

javascript - Bootstrap 折叠组件在单击时不关闭菜单

jquery - z-index 问题的解决方法

python - 使用鼠标滚轮和箭头键滚动 `wx.ScrolledPanel`

java - 如何从 Android 数组中获取 textView 的滚动位置?

javascript - 如何格式化路径以便在 Express.JS 中接收通用 JSON 对象?

javascript - 无法更改我的 javascript 以使其适合! - CSS 和 JavaScript