Электронное табло.
Нужно чтобы табло было по центру с 5 запросами ввода строк, которые будут выводиться на табло.
<p><script language="JavaScript"><!-- var messages = new Array() messages[0] = "copyright 1 (c) " messages[1] = "tomer shiran" messages[2] = "лokaлизaция (c)" messages[3] = "kубax ahдpeй" messages[4] = "javascript archive" messages[5] = "apxиb java-ckpипt'ob" messages[6] = "зaxoдиte!!!" messages[7] = "http://jsarchive.ru" // число миллисекунд между двумя сообщениями var pause = 3000 // установить нормальное расстояние между двумя символами var space = 1 // установить высоту и ширину каждого символа var height = 5 var width = 5 var letters = new letterArray() var on = new Image(5, 5) var off = new Image(5, 5) // установить расположение изображения on.src = "on.gif" off.src = "off.gif" var imageNum = document.images.length // вычислить ширину табло //var boardWidth = longest * (width + space) - space // установить максимальную длину сообщения var boardWidth = 0 for (var i = 0; i < messages.length; ++i) { var lengthWithNoSpaces = messages[i].split(" ").join("").length var numberOfSpaces = messages[i].length - lengthWithNoSpaces var currentBoardWidth = lengthWithNoSpaces * (width + space) - space + numberOfSpaces * space * 2 if (boardWidth < currentBoardWidth) boardWidth = currentBoardWidth } var running = false var timerID = null function letterArray() { this.a = new Array(height) this.a[0] = " ***" this.a[1] = "* *" this.a[2] = "*****" this.a[3] = "* *" this.a[4] = "* *" this.b = new Array(height) this.b[0] = "****" this.b[1] = "* *" this.b[2] = "****" this.b[3] = "* *" this.b[4] = "****" this.c = new Array(height) this.c[0] = " ***" this.c[1] = "* *" this.c[2] = "*" this.c[3] = "* *" this.c[4] = " ***" this.d = new Array(height) this.d[0] = "****" this.d[1] = "* *" this.d[2] = "* *" this.d[3] = "* *" this.d[4] = "****" } function drawBlank() { var gt = unescape("%3e") document.write('<TABLE BGCOLOR="#000000" BORDER=2 CELLPADDING=8' + gt + '<TR' + gt + '<TD BGCOLOR ALIGN="center" VALIGN="center"' + gt) for (var y = 0; y < height; ++y) { for (var x = 0; x < boardWidth; ++x) { document.write('<IMG SRC="' + off.src + '" HEIGHT=5 WIDTH=5' + gt) } document.write('<BR' + gt) } document.write('</TD' + gt + '</TR' + gt + '</TABLE' + gt) } function setLight(state, x, y) { if (state) document.images[computeIndex(x, y)].src = on.src else document.images[computeIndex(x, y)].src = off.src } function drawLetter(letter, startX) { // нарисовать букву на данных Х координатах for (var x = 0; x < width; ++x) { for (var y = 0; y < height; ++y) { setLight(letters[letter][y].charAt(x) == "*", startX + x, y) } } } function drawSpace(startX) { // создать небольшое расстояние между двумя символами for (var x = 0; x < space; ++x) { for (var y = 0; y < height; ++y) { setLight(false, startX + x, y) } } } function computeIndex(x, y) { return (y * boardWidth + x) + imageNum } function floodBoard(startX) { for (var x = startX; x < boardWidth; ++x) { for (var y = 0; y < height; ++y) { setLight(false, x, y) } } } function drawMessage(num) { var text = messages[num] var i = 0 var j = 0 while (1) { if (text.charAt(j) != " ") { // нарисовать текущую букву drawLetter(text.charAt(j), i) i += width } else { drawSpace(i) i += space } if (j < text.length - 1) { drawSpace(i) i += space } else break ++j } floodBoard(i) if (num < messages.length - 1) val = ++num else val = 0 // запустить цикл с начала timerID = setTimeout("drawMessage(val)", pause) } function startSign() { running = true // подождать 3 секунды, затем вызвать функцию для вывода первого сообщения drawMessage(0) } function stopSign() { if(running) clearTimeout(timerID) running = false } // открыть форму document.write drawBlank() <startSign() // --></script></p> |
Часовой пояс GMT +3, время: 15:08. |