-1

私にはうまく機能する垂直スクロールスクリプトがありますが、問題はそれがしばらくすると停止することです。上から最後まで何度も何度も無限にスクロールし続けるようにスクリプトを変更するにはどうすればよいですか?
コードは次のとおりです。

<html>
<head>
<style type="text/css">
.frame {
font:12px arial;
width:200;
height:300;
border:none;
overflow: hidden;
border:1px solid black;
padding:5;
}
</style>
<script language="javascript">
i = 0
var speed = 1
function scroll() {
i = i + speed
var div = document.getElementById("news")
div.scrollTop = i
if (i > div.scrollHeight - 160) {i = 0}
t1=setTimeout("scroll()",100)
}
</script>
</head>
<body onload="scroll()">
<div class="frame" id="news" onmouseover="clearTimeout(t1)" onmouseout="scroll()" >
Some Text text 1<br>
Some Text text 2<br>
Some Text text 3<br>
Some Text text 4<br>
Some Text text 5<br>
Some Text text 6<br>
Some Text text 7<br>
Some Text text 8<br>
Some Text text 9<br>
Some Text text 10<br>
Some Text text 11<br>
Some Text text 12<br>
Some Text text 13<br>
Some Text text 14<br>
Some Text text 15<br>
Some Text text 16<br>
Some Text text 17<br>
Some Text text 18<br>
Some Text text 19<br>
Some Text text 20<br>
Some Text text 21<br>
</div>
</body>
</html>
4

2 に答える 2

1

それは実際には止まりません。
if()条件を次のように更新してみてください

if (i > div.scrollHeight - 300) {i = 0}
于 2012-12-27T16:55:46.940 に答える
0

問題は、scrollHeightから160を引いた後でのみリセットすることです。

それはscrollHeightである必要があります-divHeight

于 2012-12-27T16:56:12.757 に答える