下面是一个简单的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类。