我是Javascript的新手,我需要你的帮助。我有一个代码,当您从页面顶部滚动时,更改类的css并缩放图像。
我想做的是,把一个类放到div中(假设是.start),当我到达那个类时,开始缩放图像。
$(window).scroll(function () {
    var scroll = $(window).scrollTop();
    $(".zoom").css({
        backgroundSize: (100 + scroll / 20) + "%"
    });
});发布于 2019-08-28 11:26:39
你似乎走在正确的道路上。另外,您可能还需要注意background-size属性。而不是针对css JavaScript属性强命名的backgroundSize,而是通过这样一个元素的style对象访问;currentElement.style.backgroundSize,您可能希望这样做;"background-size": (100 + scroll / 20) + "%。下面是一个基于现有代码的工作示例:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<!DOCTYPE html>
<html>
<head>
  <title>My page</title>
</head>
<body>
  <h1 id="start">My Zoom Heading</h1>
  <p class="zoom">My zoom area</p>
  <script>
    $(window).scroll(function() {
      var scroll = $(window).scrollTop();
      var zoomStart = $("#start").offset().top;
      if (scroll >= zoomStart) {
        $(".zoom").css({
          "background-size": (100 + scroll / 10) + "%"
        });
      }
    });
  </script>
  <style>
    #start {
      margin-top: 60px;
    }
    
    .zoom {
      margin-top: 10px;
      margin-bottom: 300px;
      width: 300px;
      height: 300px;
      background: url('{some-image-url-here}') no-repeat;
    }
  </style>
</body>
</html>
https://stackoverflow.com/questions/57688297
复制相似问题