javascript跑马灯悬停放大效果实现代码


下面是一个简单的JavaScript实现跑马灯(通常指文本或图片在容器内水平滚动)并在鼠标悬停时放大的效果示例。这里,我们使用CSS来处理动画和放大效果,JavaScript主要用于启动跑马灯动画。

HTML部分:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>跑马灯悬停放大效果</title>
<style>
  .marquee {
    width: 100%;
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
  }
  .marquee-content {
    display: inline-block;
    padding-left: 100%; /* 初始位置在容器右侧 */
    white-space: nowrap;
    animation: marquee 10s linear infinite;
    transition: transform 0.5s ease;
  }
  .marquee-content:hover {
    transform: scale(1.1); /* 悬停时放大 */
  }
  @keyframes marquee {
    from {
      transform: translateX(0);
    }
    to {
      transform: translateX(-100%);
    }
  }
</style>
</head>
<body>

<div class="marquee">
  <div class="marquee-content">
    这是一个跑马灯效果,当鼠标悬停时会放大显示。你可以根据需要调整CSS动画和过渡效果。
  </div>
</div>

</body>
</html>

在这个例子中,`.marquee` 类定义了跑马灯容器的样式,`.marquee-content` 类定义了跑马灯内容的样式,包括初始位置、动画效果和鼠标悬停时的放大效果。通过CSS的`@keyframes`定义了`marquee`动画,使内容从右向左滚动。当鼠标悬停在跑马灯内容时,`transform: scale(1.1);` 使得内容放大1.1倍。

注意:这个实现是基于纯CSS的,JavaScript没有直接参与动画的播放控制,因为它已经通过CSS的`animation`属性完成了。如果需要在特定条件下启动或停止动画,可以使用JavaScript来添加或移除包含动画的CSS类。