javascript - 如何在水平滚动单独的容器时更改文本或元素?

标签 javascript parallax jquery-waypoints scrollmagic

当您水平滚动文本上方的容器时,我尝试更改文本。触发器将基于像素或百分比,例如,如果滚动到图像宽度的 20%,文本就会发生变化。

为此使用什么好方法?

我最初尝试使用航路点,但它似乎不起作用,因为水平滚动时偏移功能无法根据百分比或像素进行设置。

这是设置--

#overflow-scroll,
#overflow-scroll-offset {
  overflow: auto;
  height: 200px;
  background: none;
}

#image-scroll {
  width: 1000px;
  height: 100%;
  margin-left: 150px;
  background: pink;
  color: #fff;
}

.hide {
  display: none;
}

p {
  text-align: center;
}
<div id="overflow-scroll" class="mt-3">
  <div id="image-scroll">
  </div>
</div>

<div class="blocks">
  <p class="block1">One text</p>
  <p class="block2 hide">Two text</p>
  <p class="block3 hide">Three text</p>
</div>

JS fiddle link

最佳答案

您可以通过添加小的 jQuery 脚本来完成。

$(document).ready(function(){
    $("#overflow-scroll").scroll(function(){
        var scrollRight = 200; //200 pixels
        if($("#overflow-scroll").scrollLeft() > scrollRight){
            //show block 2 and hide block1 text
            $(".block1").hide();
            $(".block2").show();
        }else{
            $(".block1").show();
          $(".block2").hide();
        }

    })
})

希望这就是您正在寻找的内容。

这是 fiddle link

关于javascript - 如何在水平滚动单独的容器时更改文本或元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48340045/

相关文章:

graphics - 在 Godot 中添加视差层偏移 Sprite

jquery - 带有 jQ​​uery Parallax 的 Buggy 滚动

javascript - 如果某个元素在视口(viewport)中存在 X 时间,如何触发函数?

javascript - hide() 和 click() 方法 jquery

javascript - ( typescript )属性 'window' 在类型 'Global' 上不存在

javascript - 未捕获的 FirebaseError : Messaging: This method is available in a Window context

javascript - 使用 Ajax JSON 将 map 发送到 servlet

javascript - RequestAnimationFrame 在 Safari 中不可用 - 如何制作流畅的动画?

jquery - 在恒星视差中向 "fixed"img 添加一个类