javascript - 向下滚动时如何使图像移动?

标签 javascript html css web

这是我想要实现的一个例子: https://www.flambette.com/en/

我曾尝试更改图像的 css 属性,但效果不能满足我的需求。 我尝试了以下代码:

mydocument.on('scroll',function() {
      if (mydocument.scrollTop() > 10 && mydocument.scrollTop() < 200 ) {
         $('#first').css('top', '320px');
         $('#first').css('left', '215px');
         $('#first').css('transition', '0.5s');
      } 
      else {
         $('#first').css('top', '300px');
         $('#first').css('left', '200px');
         $('#first').css('transition', '0.5s');
      }
}); 

当您在 10 到 200 像素之间滚动时,这应该会移动图像。

最佳答案

var container = document.getElementById('container');
var windowHeight = window.innerHeight;
var windowWidth = window.innerWidth;
var scrollArea = 1000 - windowHeight;
var square1 = document.getElementsByClassName('square')[0];
var square2 = document.getElementsByClassName('square')[1];

// update position of square 1 and square 2 when scroll event fires.
window.addEventListener('scroll', function() {
  var scrollTop = window.pageYOffset || window.scrollTop;
  var scrollPercent = scrollTop/scrollArea || 0;

  square1.style.left = scrollPercent*window.innerWidth + 'px';
  square2.style.left = 800 - scrollPercent*window.innerWidth*0.6 + 'px';
});
body {
  overflow-x: hidden;
}

.container {
  width: 100%;
  height: 1000px;
}

.square {
  position: absolute;
}

.square-1 {
  width: 100px;
  height: 100px;
  background: red;
  top: 600px;
}

.square-2 {
  width: 120px;
  height: 120px;
  background: black;
  left: 800px;
  top: 800px;
}
<div class="container" id="container">
  <div class="square square-1"></div>
  <div class="square square-2"></div>
</div>

希望能帮到你。

Here you can see more examples关于可移动元素和滚动事件。

关于javascript - 向下滚动时如何使图像移动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45822953/

相关文章:

Javascript MediaSource API 和 H264 视频

javascript - 使用 jquery 插件 slick carousel 自定义箭头和点

css - html5 图片标题不显示

javascript - 单击按钮时显示进度 Dynamics CRM 365

javascript - 当鼠标悬停到浏览选项卡时触发警报

javascript - Safari 在我的图像下方显示空白区域?

javascript - 在 IE8 中设置单选按钮和复选框的样式

html - 两个固定导航 - 如何在它们之间居中放置 block

javascript - 基于类 div 的 Jquery 自动编号,但在指定的 div 上重置计数器

css - 如何使按钮值不可见并向按钮添加图像