js实现列表自动向上滚动,鼠标放上去后停止滚动且可手动滚动,鼠标移开后自动继续滚动。请举例代码
时间: 2023-05-21 11:01:40 浏览: 595
以下是一个简单的实现示例:
HTML:
```
<ul id="list">
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
<li>Item 6</li>
<li>Item 7</li>
<li>Item 8</li>
<li>Item 9</li>
<li>Item 10</li>
</ul>
```
CSS:
```
#list {
height: 200px;
overflow: hidden;
}
```
JavaScript:
```
var list = document.getElementById('list');
var items = list.getElementsByTagName('li');
var timer;
function scrollList() {
var topItem = list.firstChild;
list.removeChild(topItem);
list.appendChild(topItem);
}
function startScroll() {
timer = setInterval(scrollList, 2000);
}
function stopScroll() {
clearInterval(timer);
}
list.onmouseover = stopScroll;
list.onmouseout = startScroll;
startScroll();
```
这个示例中,我们首先定义了一个包含10个列表项的无序列表。然后,我们使用CSS将列表的高度限制为200像素,并将溢出内容隐藏。接下来,我们使用JavaScript编写了三个函数:
- `scrollList()`:将列表的第一个项移动到列表的末尾,从而实现向上滚动的效果。
- `startScroll()`:使用`setInterval()`函数启动一个定时器,每隔2秒钟调用`scrollList()`函数一次,从而实现自动滚动的效果。
- `stopScroll()`:使用`clearInterval()`函数停止定时器,从而实现鼠标悬停时停止滚动的效果。
最后,我们将`startScroll()`函数绑定到列表的`onmouseout`事件上,将`stopScroll()`函数绑定到列表的`onmouseover`事件上,从而实现鼠标移开后自动滚动,鼠标悬停后停止滚动的效果。
阅读全文