<!-- 把下面代码加到<body>区域中 -->
<style type="text/css">
.matrix { семейство шрифтов: Lucida Console, Courier, Monotype; размер шрифта: 10pt; выравнивание текста: по центру; ширина: 10 пикселей; отступ: 0 пикселей; поле: 0 пикселей;}
</стиль>
<script type="text/javascript" Language="JavaScript">
<!--
вар строк = 11; // должно быть нечетное число
вар скорость = 50; // чем ниже, тем быстрее
вар раскрыть = 2; // только между 0 и 2. Чем выше, тем быстрее появляется слово
var effectalign="default" //введите "center", чтобы центрировать его.
var w3c=document.getElementById && !window.opera;;
var ie45=document.all && !window.opera;
вар ma_tab, matemp, ma_bod, ma_row, x, y, столбцы, ma_txt, ma_cho;
вар m_coch = новый массив ();
вар m_copo = новый массив ();
window.onload=function() {
если (!w3c && !ie45) вернуть
var матрица = (w3c)?document.getElementById("матрица"):document.all["матрица"];
ma_txt=(w3c)?matrix.firstChild.nodeValue:matrix.innerHTML;
ma_txt=" "+ma_txt+" ";
столбцы = ma_txt.length;
если (w3c) {
while (matrix.childNodes.length) матрица.removeChild(matrix.childNodes[0]);
ma_tab=document.createElement("таблица");
ma_tab.setAttribute("граница", 0);
ma_tab.setAttribute("выравнивание", effectalign);
ma_tab.style.backgroundColor="#000000";
ma_bod=document.createElement("tbody");
for (x=0; x<rows; x++) {
ma_row=document.createElement("tr");
for (y=0; y<columns; y++) {
mattemp=document.createElement("td");
mattemp.setAttribute("id", "Mx"+x+"y"+y);
mattemp.className="матрица";
mattemp.appendChild(document.createTextNode(String.fromCharCode(160)));
ma_row.appendChild(matemp);
}
ma_bod.appendChild(ma_row);
}
ma_tab.appendChild(ma_bod);
матрица.appendChild(ma_tab);
} еще {
ma_tab='<ta'+'ble align="'+effectalign+'" border="0" style="background-color:#000000">';
for (var x=0; x<rows; x++) {
ma_tab+='<t'+'r>';
for (var y=0; y<columns; y++) {
ma_tab+='<t'+'d class="matrix" id="Mx'+x+'y'+y+'"> </'+'td>';
}
ma_tab+='</'+'tr>';
}
ma_tab+='</'+'table>';
матрица.innerHTML=ma_tab;
}
ma_cho = ma_txt;
for (x=0; x<столбцы; x++) {
ma_cho+=String.fromCharCode(32+Math.floor(Math.random()*94));
м_копо[х]=0;
}
ma_bod=setInterval("mytricks()", скорость);
}
функция mytricks() {
х=0;
for (y=0; y<columns; y++) {
х=х+(m_copo[y]==100);
ma_row=m_copo[y]%100;
if (ma_row && m_copo[y]<100) {
если (ma_row<строки+1) {
если (w3c) {
mattemp=document.getElementById("Mx"+(ma_row-1)+"y"+y);
mattemp.firstChild.nodeValue=m_coch[y];
}
еще {
mattemp=document.all["Mx"+(ma_row-1)+"y"+y];
mattemp.innerHTML=m_coch[y];
}
matemp.style.color="#33ff66";
matemp.style.fontWeight="bold";
}
if (ma_row>1 && ma_row<rows+2) {
mattemp=(w3c)?document.getElementById("Mx"+(ma_row-2)+"y"+y):document.all["Mx"+(ma_row-2)+"y"+y];
matemp.style.fontWeight="нормальный";
matemp.style.color="#00ff00";
}
если (ma_row>2) {
mattemp=(w3c)?document.getElementById("Mx"+(ma_row-3)+"y"+y):document.all["Mx"+(ma_row-3)+"y"+y];
matemp.style.color="#009900";
}
if (ma_row<Math.floor(rows/2)+1) m_copo[y]++;
else if (ma_row==Math.floor(rows/2)+1 && m_coch[y]==ma_txt.charAt(y)) Zoomer(y);
иначе если (ma_row<rows+2) m_copo[y]++;
иначе, если (m_copo[y]<100) m_copo[y]=0;
}
иначе if (Math.random()>0.9 && m_copo[y]<100) {
m_coch[y]=ma_cho.charAt(Math.floor(Math.random()*ma_cho.length));
m_copo[y]++;
}
}
если (x==столбцы)clearInterval(ma_bod);
}
функция Zoomer(ycol) {
вар mtmp, mtem, ytmp;
if (m_copo[ycol]==Math.floor(rows/2)+1) {
for (ytmp=0; ytmp<rows; ytmp++) {
если (w3c) {
mtmp=document.getElementById("Mx"+ytmp+"y"+ycol);
mtmp.firstChild.nodeValue=m_coch[ycol];
}
еще {
mtmp=document.all["Mx"+ytmp+"y"+ycol];
mtmp.innerHTML=m_coch[ycol];
}
mtmp.style.color="#33ff66";
mtmp.style.fontWeight="жирный шрифт";
}
if (Math.random()<показать) {
mtmp=ma_cho.indexOf(ma_txt.charAt(ycol));
ma_cho=ma_cho.substring(0, mtmp)+ma_cho.substring(mtmp+1, ma_cho.length);
}
if (Math.random()<reveal-1) ma_cho=ma_cho.substring(0, ma_cho.length-1);
m_copo[ycol]+=199;
setTimeout("zoomer("+ycol+")", скорость);
}
иначе, если (m_copo[ycol]>200) {
если (w3c) {
mtmp=document.getElementById("Mx"+(m_copo[ycol]-201)+"y"+ycol);
mtem=document.getElementById("Mx"+(200+rows-m_copo[ycol]--)+"y"+ycol);
}
еще {
mtmp=document.all["Mx"+(m_copo[ycol]-201)+"y"+ycol];
mtem=document.all["Mx"+(200+rows-m_copo[ycol]--)+"y"+ycol];
}
mtmp.style.fontWeight="нормальный";
mtem.style.fontWeight="нормальный";
setTimeout("zoomer("+ycol+")", скорость);
}
иначе, если (m_copo[ycol]==200) m_copo[ycol]=100+Math.floor(rows/2);
if (m_copo[ycol]>100 && m_copo[ycol]<200) {
если (w3c) {
mtmp=document.getElementById("Mx"+(m_copo[ycol]-101)+"y"+ycol);
mtmp.firstChild.nodeValue=String.fromCharCode(160);
mtem=document.getElementById("Mx"+(100+rows-m_copo[ycol]--)+"y"+ycol);
mtem.firstChild.nodeValue=String.fromCharCode(160);
}
еще {
mtmp=document.all["Mx"+(m_copo[ycol]-101)+"y"+ycol];
mtmp.innerHTML=String.fromCharCode(160);
mtem=document.all["Mx"+(100+rows-m_copo[ycol]--)+"y"+ycol];
mtem.innerHTML=String.fromCharCode(160);
}
setTimeout("zoomer("+ycol+")", скорость);
}
}
// -->
</скрипт>
<div id="matrix">Я люблю JavaScript</div>