webForumDet fria alternativet

Vacker sak på deviantART!

5 svar · 515 visningar · startad av oskars

oskarsMedlem sedan nov. 20051 317 inlägg
#1

Tjena,

gå in på http://www.deviantart.com/ så ser ni en liten schysst räknare där det står "28,808,763 deviations"! Och den uppdateras automatiskt hela tiden :q Superkoolt haha!

Jag antar att antal hits sparas i databasen och sen hämtas informationen med Ajax(?)? Hur gör man en sån här fin funktion?

Tacksam för tips och tricks!

Mvh Oskar

The_HulkMedlem sedan juni 20031 837 inlägg
#2

här har du koden för räknaren, kanske räknas som stöld att visa den här, säg till så tar jag bort den om inte en moderator gör det före.

<script type="text/javascript">
        var Deviations=28808837,DevCount,DevTimes=("1 0 2 4 0 1 0 0 0 0 1 0 0 3 2 1 2 1 1 1 2 0 2 6 1 0 0 1 0 0 0 1 1 1 0").split(" "),iDev=0;
        DevCount=document.getElementById("deviation-rocket");
        function Deviate(){
            var r;
            DevCount.childNodes[0].nodeValue = prettyNumber(Deviations++) + ' deviations';
            r=DevTimes[iDev++];
            if(iDev==DevTimes.length)iDev=0;
            r*=1000;
            r+=Math.random()*100+(r?-50:Math.random()*500); // Fluctuate, since given times are rounded
            window.setTimeout("Deviate();",r);
        }
        Deviate();</script>
oskarsMedlem sedan nov. 20051 317 inlägg
#3

nämen vadå? Är den fake? Räknar den bara för skoj skull?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#4

oskars skrev:

nämen vadå? Är den fake? Räknar den bara för skoj skull?

Nej, 28808837 i detta fall är värdet när sidan hämtas, sedan räknar den ut ett närmevärde.

oskarsMedlem sedan nov. 20051 317 inlägg
#5

Åfan okej!

Kan jag på något sätt göra en sån här till min egna sida, men hämta siffran från min MySQL-databas? :)

DenkanMedlem sedan juni 2002256 inlägg
#6

Ändå lite tattigt av deviantArt. Kunde gott kört Ajax-lösning rakt av.

Ang. din egen sajt, så kan skriptet se ut i stil med.

Inom <head> </head>:

<script type="text/javascript">
<!--
function updateCounter(){
   var txtBox = document.getElementById('my-counter');
   var url = 'calculateCounter.asp'; // I denna fil skriver du ut antal poster (ditt tal) i plain text

   if (window.XMLHttpRequest) 
      var xml = new XMLHttpRequest();
   else if (window.ActiveXObject) 
      var xml = new ActiveXObject("Microsoft.XMLHTTP");
	
   if(xml){
      xml.open('POST', url, true);
      xml.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
      xml.send('send');
      xml.onreadystatechange = function() {
         if (xml.readyState == 4) 
            txtBox.innerHTML = xml.responseText;
      }
   }

   setTimeout("updateCounter()",1000); // Uppdatera varje sekund
}

window.onload=updateCounter;
//-->
</script>

Inom <body> </body>:

<span id="my-counter"></span>
128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)