最近、ローリング ニュース エフェクトを実装したいと思い、インターネットでいくつかの情報を調べたところ、
の 2 つの基本的な実装方法があることがわかりました。
1. マーキータグを使用します。 このタグの使用法についての比較的詳しい記事を転載しました。このタグの利点は使いやすいことです。欠点は、多くのブラウザがこのタグをサポートしなくなったことです。 , IE8でもXHTML4.0のloose.dtdはOKですが、loose.dtdを削除するのはダメです。
2. div JavaScript メソッドを使用します。 この方法の利点は、ほぼすべてのブラウザと互換性があり、予測可能な時間内で安定して実行できることです。また、div を使用すると、Web ページで既存の CSS リソースを使用して、多くの素晴らしい効果を実現できます。欠点は、ある程度のプログラミング経験と忍耐力が必要なことです。
JavaScript div を使用する基本原理は同じです。移動効果を実現するには、scrollTop 属性と offsettheight 属性を使用します。一般に、2 つの div が使用され、内部のコンテンツは同じであり、その後 2 つの div が結合されて連続ループ効果が形成されます。以下に私が見つけた 2 つのサンプル コードを示します。最初のコードはまさに私が使用したもので、動作します。 2番目のものはテストしませんでした。比較のためにこれを書いています。2 番目のコピーは Web サイトから取得したものなので使用できるはずです。
最初のコード
<%
ArrayList announceList = DBTools.getView("select * from sys_announce order by pubdate DESC");
for (int i = 1; i < announceList.size() && i < 5; i++) {
String announceArr[] = (String[]) announceList.get(i);
String content = announceArr[1];
String date = announceArr[2].substring(announceArr[2].indexOf("-")+1, announceArr[2].indexOf(" "));
%>
<%=content%> <%=date%>
<%
}
%>
iFrame = 1; // 各フレームで移動するピクセルを定義します。 ency = 50; // フレーム周波数を定義します。
var timer; // 時間ハンドルを定義します。 offsetHeight >= LayerHeight)
document.getElementById("layer1").style.height = getElementById ("layer2").offsetHeight;
function move(){
if( document.getElementById("layer1").scrollTop >= document.getElementById("layer2").offsetHeight){
document .getElementById("layer1 ").scrollTop -= (document.getElementById("layer2"). offsetHeight - iFrame);
rollTop = iFrame;
}
timer = setInterval("move()",iFrequency); document.getElementById ("layer1").onmouseout=function() { timer=setInterval("move()",iFrequency);}
// -->
2 番目のコード
コードをコピー
コードは次のとおりです:
著者別の最新記事
2024-10-22 09:46:29
2024-10-13 13:53:41
2024-10-12 12:15:51
2024-10-11 22:47:31
2024-10-11 19:36:51
2024-10-11 15:50:41
2024-10-11 15:07:41
2024-10-11 14:21:21
2024-10-11 12:59:11
2024-10-11 12:17:31