实现图片的从右到左无缝滚动,每隔0.5毫秒实现一次左移,当鼠标移动到图片上触发图片停止滚动,否则图片继续滚动,下载图片素材
时间: 2024-10-25 14:18:00 浏览: 16
为了实现图片从右到左无缝滚动,并且每隔0.5毫秒左移一次,你可以使用JavaScript和CSS结合HTML来完成这个效果。以下是步骤:
1. HTML结构:
```html
<div class="scroll-image-container">
<img src="" id="scrolling-image" alt="滚动图片">
</div>
```
确保图片的`src`属性一开始为空,因为我们将在JavaScript中动态加载。
2. CSS样式:
```css
.scroll-image-container {
position: relative;
overflow: hidden;
}
#scrolling-image {
position: absolute;
right: 0;
width: 100%;
animation: scroll-image 0.5s linear infinite;
}
@keyframes scroll-image {
0% {right: 100%;}
100% {right: -100%;}
}
```
这里我们设置了图片绝对定位,初始在右侧,并设置了一个名为`scroll-image`的动画,每次循环将图片向左移动100%,形成滚动效果。
3. JavaScript事件处理:
```javascript
const image = document.getElementById('scrolling-image');
let isScrolling = true;
image.addEventListener('mousemove', function(e) {
if (isScrolling) {
isScrolling = false; // 鼠标移动到图片上时停止滚动
} else {
setTimeout(() => {
image.style.right = '0'; // 图片停止时还原位置
isScrolling = true; // 0.5秒后重新开始滚动
}, 500); // 停止后延迟0.5秒
}
});
// 初始化时,让图片开始滚动
setTimeout(() => {
image.style.right = '-100%';
}, 0);
```
这段JavaScript首先获取图片元素,然后监听鼠标移动事件。如果正在滚动,当鼠标移动时停止;如果停止,会在0.5秒后重新开始滚动。
阅读全文