PHP Classes

File: contador.inc.php

Recommend this page to a friend!
  Classes of Joseluis Laso   jlaso Contador   contador.inc.php   Download  
File: contador.inc.php
Role: Auxiliary data
Content type: text/plain
Description: Class source
Class: jlaso Contador
Record user visits with MySQL database using PDO
Author: By
Last change: Update of contador.inc.php
Date: 5 months ago
Size: 3,895 bytes
 

Contents

Class file image Download
<style type="text/css"> #contador{ display:inline; } .digitJlaso { background-image:url('digitos.png'); background-position: 0px 0px; background-repeat:no-repeat; width:30px; height:45px; vert-align:middle; padding-top:30px; *padding-top: 0px; /* para que solo lo tome en cuenta IE7 e inferiores */ } </style> <script type="text/javascript"> /* * Objeto contador * */ function Contador( desde, // desde que número vamos a contar hasta, // hasta que número vamos a contar digitos, // digitos de resolución del contador (pone ceros delante) milisegs, // milisegs que transcurren entre cada iteración de animación miDiv, // miDiv, ID del div donde hay que presentar el contador pathImg, // ruta de las imágenes altoImg, // alto de cada dígito dentro de la tira de imágenes offsetImg // offset del cero dentro de la tira de imágenes ){ this.stop = hasta; this.digitos = digitos; this.milisegs = milisegs; this.miDiv = miDiv; this.pathImg = pathImg; this.altoImg = altoImg; this.offsetImg= offsetImg; this.actualP = new Array(); this.stopP = 0; this.actual = desde.toString(); for (var i=this.actual.length;i<this.digitos;i++){ this.actual = "0"+this.actual; } } Contador.prototype = { show: function(){ var a = this.actual.split(""); var contenedor = document.getElementById(this.miDiv); //contenedor.innerHTML += this.actual + "<br/>"; var e = this.digitos-1; var valor=0; for (i=0;i<a.length;i++){ valor = parseInt(a[i]) * this.altoImg + this.offsetImg; contenedor.innerHTML += //a[i]+ '<a href="http://jaitec.net/blog/contador-visitas" target="_blank">'+ '<span id="dig'+e+'" class="digitJlaso" style="background-position: 0px -'+valor+'px;">'+ ' <img src="'+this.pathImg+'/transp30x45.png"/>'+ '</span>'+ '</a>'; e--; } }, animarDigito:function(){ this.actualP[0]++; var dig = document.getElementById("dig0"); dig.style.backgroundPosition="0 -"+this.actualP[0]+"px"; // mirar si es un nueve para incrementar el de al lado tambien d=0; while(this.actualP[d]>9*this.altoImg+this.offsetImg){ d++; this.actualP[d]++; var dig = document.getElementById("dig"+d); dig.style.backgroundPosition="0 -"+this.actualP[d]+"px"; } if (this.actualP[0]>this.stopP){ clearInterval(this.interval); if (this.actual<this.stop-1){ this.actual++; this.animar(); } } }, animar: function(){ if (this.actual<this.stop){ var a = this.actual.toString().split("").reverse(); for (i=0;i<a.length;i++){ this.actualP[i] = this.altoImg * a[i] + this.offsetImg; } this.stopP = this.actualP[0] + this.altoImg; var that = this; this.interval = setInterval(function(){that.animarDigito();},this.milisegs); } } } /* modelo de llamada window.onload = function(){ var contador = new Contador(0,999999,6,100,"contenedor","inc/contador",42,17); contador.show(); contador.animar(); } */ </script>