javascriptの循環は停止して上下にスクロールします。


extract Nodes関数は各ブラウザのノード計算問題を解決します。FireFoxは改行符をノードとしてカウントするのは無理です。先にapendChildで前の4つのノードの最後の部分をコピーして、後尾が同じ内容になるようにします。flash補間の循環運動をする時はこのように最後までします。set Interval経由でrolltxt関数を実行します。rolltxt関数はまず間隔を置く高さを計算します。スクロールの高さが多いと停止します。この高さはどうやって計算したのか分かりません。CSSと関係があります。試してみます。   余剰を求める方法で、設定した間隔の高さをロールオーバーしたかどうかを判断できます。残りが0に等しくない場合は、1を入れ続けます。残りが0ならば、設定された間隔の高さがスクロールされました。ここで停止します。変数settimeを設定して時間を計算します。50に加える時settimeはゼロをクリアして、スクロールし続けます。この50は単位を計算したことがないです。とにかく私の好きなようにしてください。これでもう停止してスクロールできると思いますが、もう一つの問題があります。最高値を制限していません。ずっと転がります。もちろん故障します。どこに転がり、また転がり始めたらいいですか?もちろん尻尾と頭の同じ位置に転がります。ページの高さから見える高さを引けばいいです。なぜこのように計算されますか?これは自分で漕ぎをすれば分かります。循環停止します。上下スクロールはもう成功しました。信じません。試してみてください。  循環停止上下スクロール
  • 6
  • https://www.jb51.net私たち7
  • https://www.jb51.net私たち8
  • https://www.jb51.net私たち9
  • https://www.jb51.net私たち10
  • https://www.jb51.net私たち11
  • https://www.jb51.net">>12
  • https://www.jb51.net私たち13
  • https://www.jb51.net私たち14
  • https://www.jb51.net私たち15
  • https://www.jb51.net私たち16
  • text/javascript">function extract Nodes(pNode){if(pNode.nodeType==3)return nullvar node、nodes=new Aray()for(var i=0node=p Node.childNodes[i]i+){if(node.nodeType==1)nodes.push(node);return nodes;var obj=document.getElemenntById(「rolltxt」);for(i=0;i<4;i+){obj.apendChild(extract Nodes(obj)[i].clone Node(true);]settime=0var t=set Interval(rolltxt、50)function rolltxt(){if(obj.scrollTop%(obj.clientHeight-5)=0){settime+=1;if(settime==50){obj.scrollTop+=1;settime=0;}else{obj.scrollTop+=1;if(obj.scrollTop=(obj.scrollHeight-obj.clientHeight){obj.scrollTop=0;}obj.onmouseover=function(){clear Interval(t)obj.onmouseout=function(){t=set Interval(rolltxt,50)}
    [Ctrl+Aフル注:]