begin process at 2010 03 20 22:57:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Effets

 > PANNEAU D'AFFICHAGE V.2

PANNEAU D'AFFICHAGE V.2


 Information sur la source

Note :
9,6 / 10 - par 10 personnes
9,60 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Effets Niveau :Initié Date de création :31/10/2003 Vu :6 335

Auteur : francktfr

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Plus complet que le premier, il n'y a pas de limite
dans le nombre de phrases ou leur longueur, mais
ca peut ramer sur certain postes.

Source

  • <HTML>
  • <HEAD>
  • <TITLE></TITLE>
  • <SCRIPT>
  • // 31-10-2003 - francktfr@systeme-d.net
  • // écrit pour http://www.systeme-d.net
  • var Blocs = new Array()
  • var Sentence = new Array()
  • Sentence.push("Un panneau d'affichage")
  • Sentence.push("comme ceux qu'on trouve")
  • Sentence.push("dans les garres ... :o)")
  • Blocs.push(Sentence)
  • Sentence = new Array()
  • Sentence.push("Vous y marquez ce que")
  • Sentence.push("vous voulez, il n'y a")
  • Sentence.push("pas de limites ...")
  • Blocs.push(Sentence)
  • Sentence = new Array()
  • Sentence.push("Ça pourrait faire un")
  • Sentence.push("bon lecteur de news")
  • Blocs.push(Sentence)
  • var iDones = new Array() // Tableau des caracteres placés
  • var TotalDone = 0 // Total des caracteres placés
  • var RowSpeed = 700 // Interval entre rangée (ms)
  • var ColSpeed = 10 // Interval entre colonne (ms)
  • var BlockSpeed = 1000 // Temps d'affichage de bloc de texte (ms)
  • var LenX = 0 // Nombre de colonnes
  • var LenY = 0 // Nombre de rangées
  • var CodeLetter = new Array() // Tableau des symboles HTML
  • for (i=32; i<255; i++){ if (i<127 || i>160) CodeLetter.push(String.fromCharCode(i))} // Remplissage du tableau
  • // Cree un chaine avec que des " "
  • function Str(Len){
  • var Result = ""
  • for (s=1; s<=Len; s++){Result += " "}
  • return(Result)
  • }
  • // verification des phrases + mise a la bonne dimension et dimensions du tableau
  • function CheckLetters(){
  • var msg = ""
  • for (i=0; i<Blocs.length; i++){
  • if (LenY < Blocs[i].length){LenY = Blocs[i].length}
  • for (j=0; j<Blocs[i].length; j++){
  • for (a=0; a<Blocs[i][j].length; a++){
  • var isin = 0
  • for (c=0; c<CodeLetter.length; c++){
  • if(CodeLetter[c] == Blocs[i][j].charAt(a)){isin = 1; break}
  • }
  • if(!isin){msg += Blocs[i][j][a] + " inconnu \n"}
  • }
  • if (LenX < Blocs[i][j].length){LenX = Blocs[i][j].length}
  • }
  • }
  • if(msg != ""){alert(msg); return(0)}
  • for (i=0; i<(LenX*LenY); i++){iDones.push(0)}
  • // Remplissage des lignes et caracteres manquants
  • var diff = 0
  • for (i=0; i<Blocs.length; i++){
  • for (j=0; j<Blocs[i].length; j++){
  • diff = LenX-Blocs[i][j].length
  • if (diff){Blocs[i][j] += Str(diff)} // Complete le reste de la chaine
  • }
  • diff = LenY-Blocs[i].length
  • if (diff){ for (j=0; j<diff; j++) {Blocs[i].push(Str(LenX))} } // creation d'une nouvelle chaine
  • }
  • return(1)
  • }
  • function InitPanel(Container){
  • if (!CheckLetters()){return(0)}
  • // Création du tableau HTML
  • var table = "<TABLE CELLPADDING=0 CELLSPACING=1 CLASS=Panel>\n"
  • for (j=0; j<LenX; j++){table += "<COL WIDTH=13>"}
  • for (i=0; i<LenY; i++){
  • table += "<TR>"
  • for (j=0; j<LenX; j++){table += "<TD HEIGHT=18 ID=AF_"+i+"_"+j+" CLASS=PanelCell> </TD>"}
  • table += "</TR>"
  • }
  • table += "</TABLE>"
  • Container.innerHTML = table
  • WriteBlock(0)
  • }
  • // Retourne L'index du caractere
  • function CodeIndex(car){
  • var res = CodeLetter.length
  • for (i=0; i<CodeLetter.length; i++){if (car == CodeLetter[i]){return(i)}}
  • return(0)
  • }
  • // Passage au prochain bloc de phrases ou au premier
  • function NextBlock(BlockIndex){
  • BlockIndex < (Blocs.length-1) ? BlockIndex++ : BlockIndex=0
  • WriteBlock(BlockIndex)
  • }
  • // Lance l'ecriture des phrases
  • function WriteBlock(i){
  • for (a=0; a<(LenX*LenY); a++){iDones[a]=0}
  • TotalDone = 0
  • for (r=0; r<Blocs[i].length; r++){setTimeout("WriteRow("+i+", "+r+")",r*RowSpeed)}
  • }
  • // Lance l'ecriture des lettres
  • function WriteRow(BlockIndex, RowIndex){
  • for (l=0; l<Blocs[BlockIndex][RowIndex].length; l++){
  • eval("var start = CodeIndex(AF_"+RowIndex+"_"+l+".innerText)")
  • setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+","+l+","+start+")",l*ColSpeed)
  • }
  • }
  • function WriteLetter(BlockIndex, RowIndex, LetterIndex, CodeIndex){
  • if (!iDones[(LenX*RowIndex)+(LetterIndex)])
  • {
  • eval("var Cel = AF_"+RowIndex+"_"+LetterIndex)
  • if (Blocs[BlockIndex][RowIndex].charAt(LetterIndex) == CodeLetter[CodeIndex]){
  • iDones[(LenX*RowIndex)+(LetterIndex)]++
  • TotalDone++
  • if (TotalDone >= (LenX*LenY)){setTimeout("NextBlock("+BlockIndex+")",BlockSpeed)}
  • }
  • Cel.innerText = CodeLetter[CodeIndex]
  • CodeIndex < CodeLetter.length-1 ? CodeIndex++ : CodeIndex = 0
  • setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+", "+LetterIndex+","+CodeIndex+")",10)
  • }
  • }
  • </SCRIPT>
  • <STYLE>
  • .Panel {FONT: 14 Courier; COLOR: #FFFFCC; TABLE-LAYOUT: fixed; TEXT-ALIGN: center; BACKGROUND: #000000}
  • .PanelCell {BORDER: 1 solid none; VERTICAL-ALIGN: middle; BACKGROUND: #006666}
  • </STYLE>
  • </HEAD>
  • <BODY ONLOAD="InitPanel(dtable)">
  • <DIV id=dtable></DIV>
  • </BODY>
  • </HTML>
<HTML>
<HEAD>
<TITLE></TITLE>
<SCRIPT>
// 31-10-2003 - francktfr@systeme-d.net
// écrit pour http://www.systeme-d.net

var Blocs = new Array()
var Sentence = new Array()

Sentence.push("Un panneau d'affichage")
Sentence.push("comme ceux qu'on trouve")
Sentence.push("dans les garres ... :o)")
Blocs.push(Sentence)
Sentence = new Array()
Sentence.push("Vous y marquez ce que")
Sentence.push("vous voulez, il n'y a")
Sentence.push("pas de limites ...")
Blocs.push(Sentence)
Sentence = new Array()
Sentence.push("Ça pourrait faire un")
Sentence.push("bon lecteur de news")
Blocs.push(Sentence)

var iDones = new Array()	//	Tableau des caracteres placés
var TotalDone = 0			//	Total des caracteres placés
var RowSpeed = 700		//	Interval entre rangée (ms)
var ColSpeed = 10		//	Interval entre colonne (ms)
var BlockSpeed = 1000	//	Temps d'affichage de bloc de texte (ms)
var LenX = 0	//	Nombre de colonnes
var LenY = 0	//	Nombre de rangées
var CodeLetter = new Array()	//	Tableau des symboles HTML
for (i=32; i<255; i++){ if (i<127 || i>160) CodeLetter.push(String.fromCharCode(i))}	//	Remplissage du tableau
//	Cree un chaine avec que des " "
function Str(Len){
	var Result = ""
	for (s=1; s<=Len; s++){Result += " "}
	return(Result)
}
//	verification des phrases + mise a la bonne dimension et dimensions du tableau
function CheckLetters(){	
	var msg = ""
	for (i=0; i<Blocs.length; i++){
		if (LenY < Blocs[i].length){LenY = Blocs[i].length}
		for (j=0; j<Blocs[i].length; j++){
			for (a=0; a<Blocs[i][j].length; a++){
				var isin = 0
				for (c=0; c<CodeLetter.length; c++){
					if(CodeLetter[c] == Blocs[i][j].charAt(a)){isin = 1; break}
				}
				if(!isin){msg += Blocs[i][j][a] + " inconnu \n"}
			}
			if (LenX < Blocs[i][j].length){LenX = Blocs[i][j].length}
		}
	}
	if(msg != ""){alert(msg); return(0)}
	for (i=0; i<(LenX*LenY); i++){iDones.push(0)}
	//	Remplissage des lignes et caracteres manquants
	var diff = 0
	for (i=0; i<Blocs.length; i++){
		for (j=0; j<Blocs[i].length; j++){
			diff = LenX-Blocs[i][j].length
			if (diff){Blocs[i][j] += Str(diff)}	//	Complete le reste de la chaine
		}
		diff = LenY-Blocs[i].length
		if (diff){ for (j=0; j<diff; j++) {Blocs[i].push(Str(LenX))} }	//	creation d'une nouvelle chaine
	}
	return(1)
}
function InitPanel(Container){
	if (!CheckLetters()){return(0)}
	//	Création du tableau HTML
	var table = "<TABLE CELLPADDING=0 CELLSPACING=1 CLASS=Panel>\n"
	for (j=0; j<LenX; j++){table += "<COL WIDTH=13>"}
	for (i=0; i<LenY; i++){
		table += "<TR>"
		for (j=0; j<LenX; j++){table += "<TD HEIGHT=18 ID=AF_"+i+"_"+j+" CLASS=PanelCell> </TD>"}	
		table += "</TR>"
	}
	table += "</TABLE>"
	Container.innerHTML = table
	WriteBlock(0)
}
//	Retourne L'index du caractere
function CodeIndex(car){
	var res = CodeLetter.length
	for (i=0; i<CodeLetter.length; i++){if (car == CodeLetter[i]){return(i)}}
	return(0)
}
//	Passage au prochain bloc de phrases ou au premier
function NextBlock(BlockIndex){
	BlockIndex < (Blocs.length-1) ? BlockIndex++ : BlockIndex=0
	WriteBlock(BlockIndex)
}
//	Lance l'ecriture des phrases
function WriteBlock(i){
	for (a=0; a<(LenX*LenY); a++){iDones[a]=0}
	TotalDone = 0
	for (r=0; r<Blocs[i].length; r++){setTimeout("WriteRow("+i+", "+r+")",r*RowSpeed)}
}
//	Lance l'ecriture des lettres
function WriteRow(BlockIndex, RowIndex){
	for (l=0; l<Blocs[BlockIndex][RowIndex].length; l++){
		eval("var start = CodeIndex(AF_"+RowIndex+"_"+l+".innerText)")
		setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+","+l+","+start+")",l*ColSpeed)
	}
}
function WriteLetter(BlockIndex, RowIndex, LetterIndex, CodeIndex){
	if (!iDones[(LenX*RowIndex)+(LetterIndex)])
		{
			eval("var Cel = AF_"+RowIndex+"_"+LetterIndex)
			if (Blocs[BlockIndex][RowIndex].charAt(LetterIndex) == CodeLetter[CodeIndex]){
				iDones[(LenX*RowIndex)+(LetterIndex)]++
				TotalDone++
				if (TotalDone >= (LenX*LenY)){setTimeout("NextBlock("+BlockIndex+")",BlockSpeed)}
			}
			Cel.innerText = CodeLetter[CodeIndex]
			CodeIndex < CodeLetter.length-1 ? CodeIndex++ : CodeIndex = 0
			setTimeout("WriteLetter("+BlockIndex+", "+RowIndex+", "+LetterIndex+","+CodeIndex+")",10)
		}
}
</SCRIPT>
<STYLE>
.Panel {FONT: 14 Courier; COLOR: #FFFFCC; TABLE-LAYOUT: fixed; TEXT-ALIGN: center; BACKGROUND: #000000}
.PanelCell {BORDER: 1 solid none; VERTICAL-ALIGN: middle; BACKGROUND: #006666}
</STYLE>
</HEAD>
<BODY ONLOAD="InitPanel(dtable)">

<DIV id=dtable></DIV>

</BODY>
</HTML>



 Sources du même auteur

Source avec une capture CHOIX DE DATES ET DE PERIODE
HORLOGE DIGITALE , SI SI
Source avec une capture TEXT COLORISÉ AVEC LE POURCENTAGE
Source avec une capture MENU AVEC EFFET DE DÉGRADÉ
ANNONCE LETTRE PAR LETTRE

 Sources de la même categorie

AFFICHER OU CACHER UN COMPOSANT AVEC JAVASCRIPT V1.0 par xloadx
Source avec Zip MOOLOUPE - EFFET DE LOUPE VIA LE FRAMEWORK MOOTOOLS par Miky76
Source avec Zip MOOTOOLTIP par Miky76
Source avec Zip Source avec une capture PAINTPIX (VERSION TESTE. EXPORTATION IMAGE POUR SITE WEB) par sitajony
FONCTION BLINK ( TESTÉE SOUS FF ) PORTABILITÉ IE OP ET GC EN... par xloadx

Commentaires et avis

Commentaire de LocalStone le 01/11/2003 17:03:19

Dément ! Serieux c'est excellent ! Et en plus c'est entièrement configurable, alors chapeau !

Commentaire de jjdagadir le 03/11/2003 20:29:06

TRES VISUEL - TRES PARAMETRABLE - CHAPEAU C EST BEAU ET BON-
KENAVO

Commentaire de LSGSERVAL le 05/08/2005 20:34:24

Super panneau d'affichage
par contre certains de mes visiteurs utilisant FireFox ne voient pas les lettres

Est ce quelqu'un pourrait me dire comment palier au problème ?
http://www.lapprentiweb.com/lsg/

Commentaire de Blacknight91titi le 04/12/2005 09:56:31

Génial, vraiment génial

10/10

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,562 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales