1

私の質問は基本的にこれに戻ります: Scrolling Overflowed DIVS with JavaScript

jQueryを使わずにそれを行う方法を知りたいです。どんな助けでも大歓迎です。前もって感謝します!

また、リンクされた質問では、コードが実行されるたびに div を 1 スクロールの高さだけスクロールしますか? もしそうなら、どうすればマウスの位置で下にスクロールできますか? つまり、マウスをdivの一番下に移動したら、divをスクロールダウンし続け、マウスカーソルを同じ位置に保つにはどうすればよいですか(この条件は必要ありませんが、高く評価されます)? よろしくお願いします!

4

1 に答える 1

1

私はあなたが探している効果を実装する方法を正確に知っていると信じています。私は単にonmouseoverイベントとonmouseoutイベントを使用して、問題のdivのscrollTopプロパティを使用してスクロールをエミュレートするJavaScript間隔メカニズムを開始および停止しています。やってみて:

<script>
var interval, cur_scroll = 0;
    
function scroll()
{
  interval = setInterval(function()
  {
    cur_scroll += 2;
    document.getElementById('testDiv').scrollTop = cur_scroll;
  }, 40);
}
     
function stop()
{
  clearInterval(interval);
}
    
document.getElementById('testDiv').setAttribute('onmouseover', 'scroll()');
document.getElementById('testDiv').setAttribute('onmouseout', 'stop()');
</script>
<style>
#testDiv
{
  width: 100px;
  height: 100px;
  overflow: hidden;
  border: 1px solid #000000;
}
</style>   
<div id="testDiv">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec interdum libero sit amet diam. In hac habitasse platea dictumst. Cras eleifend tortor scelerisque mi viverra malesuada.</div>

于 2009-01-26T22:15:59.627 に答える