利用JQ实现滚动效果 <style type="text/css"> *{ margin:0px; padding:0px; border:0px; } body{font-size:12px} #demo{ overflow:hidden; height:200px; width:480px; position:relative; border: 1px solid skyblue; } #demo1{ height:auto; text-align:left; } #demo2{ height:auto; text-align:left; } #demo1 li{ list-style-type:none; height:22px; text-align:left; text-indent:15px; border: 1px solid blue; } #demo2 li{ list-style-type:none; height:22px; text-align:left; text-indent:15px; border: 1px solid blue; } </style> </head> <body> <div id="demo"> <ul id="demo1"> <li>111111111111111111111</li> <li>2222222222222222222222222222</li> <li>3333333333333333333333</li> <li>444444444444444444444</li> <li>55555555555555555555555555</li> <li>6666666666666666666666</li> <li>777777777777777777777777</li> </ul> <div id="demo2"></div> </div> <script src="../jquery-3.7.0.js"></script> <script type="text/javascript"> </script>
时间: 2024-03-27 10:39:08 浏览: 156
你可以使用以下的 jQuery 代码实现滚动效果:
```javascript
$(document).ready(function(){
var demoHeight = $('#demo').height();
var demo1Height = $('#demo1').height();
var demo2Height = $('#demo2').height();
var speed = 30;
var scrollUp = false;
var scrollDown = false;
if (demo1Height > demoHeight) {
$('#demo2').html($('#demo1').html());
scrollUp = true;
}
$('#demo').hover(function(){
scrollUp = false;
scrollDown = false;
}, function(){
if (demo1Height > demoHeight) {
scrollUp = true;
}
});
setInterval(function(){
if (scrollUp) {
var demo1Top = $('#demo1').position().top;
if (demo1Top > -demo1Height) {
$('#demo1').css('top', demo1Top - speed + 'px');
} else {
$('#demo1').css('top', demo2Height + 'px');
}
var demo2Top = $('#demo2').position().top;
if (demo2Top > -demo2Height) {
$('#demo2').css('top', demo2Top - speed + 'px');
} else {
$('#demo2').css('top', demo1Height + 'px');
}
}
}, 50);
});
```
这段代码会检测 `#demo1` 中的内容是否超出了 `#demo` 的高度,如果超出了,就将 `#demo1` 的内容复制到 `#demo2` 中,以实现无限滚动的效果。然后,当鼠标悬停在 `#demo` 上时,滚动会暂停。最后,使用 `setInterval()` 函数实现滚动的效果。
阅读全文