テキストや画像を斜めにスクロールさせるダイナミックHTMLです。
マーキーの左右スクロールでは芸が無いので、ダイナミックHTMLを使って、どこでも動けるようにしたスクリプトです。
HEAD部分にスクリプトを記述します。 BODY部分には、任意の場所にDIV要素に対してID属性iL1とスクロールする画像のスタイルを指定します。
スクロールするテキストの速さ、方向とスタイルを変更可能です。
テキストで実現したい場合は、左右スクロールを参考にして下さい。
IE4,NN4以上(IE5ではposWidth,posHeightが正しく取得できないため処理に異常があります)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=Shift_JIS"> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript"> <TITLE>斜めスクロール</TITLE> <STYLE TYPE="text/css"> <!-- .Style1{ position: absolute; width: 88px; height: 31px; } --> </STYLE> <SCRIPT LANGUAGE="javascript" TYPE="text/javascript"> <!-- //ブラウザのバージョンチェック var brw_v = navigator.appVersion.charAt(0); var brw_n = navigator.appName.charAt(0); var iIE4 = false; var iNN4 = false; if((brw_v >= 4)&&(brw_n == "M"))iIE4 = true; if((brw_v >= 4)&&(brw_n == "N"))iNN4 = true; var actT = 5; //移動時間:速=小 var actX = 3; //左右移動量 var actY = 2; //上下移動量 var leftX,topX; var scrX,scrY; function Init(){ if(iIE4){ scrX = document.body.clientWidth; scrY = document.body.clientHeight; lay = document.all("iL1"); leftX = Math.random()*scrX-lay.style.posWidth; topY = Math.random()*scrY-lay.style.posHeight; } if(iNN4){ scrX = innerWidth; scrY = innerHeight; lay = document.layers["iL1"]; leftX = Math.random()*scrX-lay.clip.width; topY = Math.random()*scrY-lay.clip.height; } if(leftX <= 0)leftX=1; if(topY <<= 0)topY=1; scrollXY(); } function scrollXY(){ if(iIE4){ lay.style.posLeft = leftX; lay.style.posTop = topY; if(lay.style.posLeft <= 0)actX = -actX; if(lay.style.posLeft + lay.style.posWidth >= (scrX - actX))actX = -actX; if(lay.style.posTop <= 0)actY = -actY; if(lay.style.posTop + lay.style.posHeight >= (scrY - actY))actY = -actY; } if(iNN4){ lay.left = leftX; lay.top = topY; if(lay.left <= 0)actX = -actX; if(lay.left + lay.clip.width >= (scrX - actX))actX = -actX; if(lay.top <= 0)actY = -actY; if(lay.top + lay.clip.height >= (scrY - actY))actY = -actY; } leftX = leftX + actX; topY = topY + actY; setTimeout("scrollXY()",actT); } // --> </SCRIPT> </HEAD> <BODY onload="Init()"> <DIV> イメージが飛び回ります<BR> リンクも出来ちゃったりして<BR><BR> 飛び回るバナーをクリックすると・・・?<BR> </DIV> <DIV ID="iL1" CLASS="Style1"> <A HREF="http://www.hajimeteno.ne.jp/"> <IMG SRC="./multi.gif" BORDER=0> </A> </DIV> </BODY> </HTML>