当前位置:首页 > JavaScript

js实现图片渐入

2026-03-16 08:07:17JavaScript

使用CSS动画实现图片渐入

通过CSS的@keyframesopacity属性实现渐入效果,JavaScript仅用于触发动画。示例代码:

js实现图片渐入

<style>
  .fade-in {
    opacity: 0;
    animation: fadeIn 2s ease-in forwards;
  }

  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
</style>

<script>
  document.addEventListener('DOMContentLoaded', () => {
    const img = document.getElementById('targetImage');
    img.classList.add('fade-in');
  });
</script>

纯JavaScript实现透明度渐变

通过requestAnimationFrame逐帧修改透明度,适合需要精细控制动画的场景:

js实现图片渐入

function fadeIn(element, duration = 1000) {
  let start = null;
  element.style.opacity = 0;

  function step(timestamp) {
    if (!start) start = timestamp;
    const progress = Math.min((timestamp - start) / duration, 1);
    element.style.opacity = progress;
    if (progress < 1) requestAnimationFrame(step);
  }

  requestAnimationFrame(step);
}

// 使用示例
fadeIn(document.getElementById('image'), 1500);

结合CSS Transition实现

通过JavaScript动态添加类名触发CSS过渡效果:

<style>
  .fade-transition {
    transition: opacity 1.5s ease-out;
    opacity: 1;
  }
  .fade-hidden {
    opacity: 0;
  }
</style>

<script>
  function startFade() {
    const img = document.querySelector('.fade-target');
    img.classList.remove('fade-hidden');
    img.classList.add('fade-transition');
  }

  // 页面加载时执行
  window.onload = startFade;
</script>

使用Web Animations API

现代浏览器支持的Web Animations API提供更强大的控制:

const img = document.getElementById('animated-img');
img.animate([
  { opacity: 0 },
  { opacity: 1 }
], {
  duration: 800,
  easing: 'cubic-bezier(0.4, 0, 0.2, 1)',
  fill: 'forwards'
});

注意事项

  • 所有方法都需要确保图片已加载完成,可在img.onload回调中执行动画
  • 考虑添加will-change: opacity提升动画性能
  • 移动端注意硬件加速,可添加transform: translateZ(0)
  • 渐入效果通常配合适当的延迟或触发条件使用效果更佳

标签: 渐入图片
分享给朋友:

相关文章

H5图片实现地图

H5图片实现地图

实现H5图片地图的方法 在H5中实现图片地图功能,可以通过以下方式完成。图片地图允许用户在图片的特定区域点击,触发不同的交互效果。 使用HTML的<map>和<area>标签…

js实现图片的拖动

js实现图片的拖动

实现图片拖动的步骤 HTML 结构 在 HTML 中创建一个可拖动的图片元素,确保设置 draggable 属性为 true。 <img id="draggable-img" src="ima…

jquery图片切换

jquery图片切换

jQuery图片切换的实现方法 通过jQuery实现图片切换功能有多种方式,以下是几种常见的实现方法: 基础淡入淡出效果 $(document).ready(function(){ let…

vue实现滑动图片

vue实现滑动图片

实现滑动图片的基本思路 在Vue中实现滑动图片效果,通常可以通过以下几种方式完成。滑动图片的核心在于处理用户触摸或鼠标事件,计算位移,并动态调整图片位置。 使用CSS过渡和Vue数据绑定 通过Vue…

vue实现图片缩放

vue实现图片缩放

实现图片缩放的基本方法 在Vue中实现图片缩放可以通过CSS的transform: scale()属性或动态调整图片的width和height属性。以下是一个基础的实现示例: <templat…

vue实现图片保存

vue实现图片保存

实现图片保存的基本方法 在Vue中实现图片保存功能通常涉及前端操作,可能包括从Canvas生成、直接下载或通过后端接口保存。以下是几种常见实现方式: 使用HTML5的download属性 对于已存在…