Donnerstag, 19. Januar 2012

So schneit es auch bei euch


In diesem Winter hatten wir ja bis jetzt nicht so viel Schnee, aber auf eurem Blog könnt ihr den Schnee fallen lassen. Ich wurde schon ein paar Mal gefragt, wie das funktioniert und deswegen zeige ich euch das heute.
Hier ist also eine ganz leichte Anleitung, die ich mal auf einem Blog gefunden habe.

1. Zuerst müsst ihr unter Layout ein neues Gadget für HTML/Javascript öffnen.

2. Dies müsst ihr reinkopieren:

<script language="JavaScript">
// Author: Yurij Gera
// TODO: make @media print... work for Mozilla and Opera

var SnowCount     = exAutoCalculate();
var SnowMinSize   = 12;   // Minimum Snow-Font Size [Pixel]
var SnowMaxSize   = 28;   // Maximum Snow-Font Size [Pixel]
var SnowMinYSpeed = 0.5;  // Maximum Y Speed [Pixel/Frame]
var SnowMaxYSpeed = 2.5;  // Maximum Y Speed [Pixel/Frame]
var SnowMinXSpeed = 0.05; // Minumum Radial Speed [Radian/Frame]
var SnowMaxXSpeed = 0.15; // Maximum Radial Speed [Radian/Frame]
var SnowMinXDelta = 10;   // Minimum X Delta [Pixel]
var SnowMaxXDelta = 20;   // Maximum X Delta [Pixel]
var SnowMoveDelay = 25;   // Delay [Milliseconds]
var SnowColors    = ['#BBBBBB', '#DDDDDD', '#FFFFFF', '#BBBBFF']; // Snow Colors [Array]

exSnowInit();

function exSnowInit() {
 SnowMoveDelay = 25; // Delay [Milliseconds]
 exAddEvent(window, 'load', exSnowStart);
 exAddEvent(window, 'resize', exSnowRefresh);
 document.createStyleSheet().cssText = "@media print {.exSnowClass { DISPLAY: none; }}"; // IE only
}

function exAutoCalculate() { 
 var start = new Date();
 for (var i = 0; i < 50000; i++) {
  Math.random();
 }
 var end = new Date();
 var delta = end.valueOf() - start.valueOf();
 var EstimatedSnowCount = Math.min(Math.floor(10000 / delta), 500);
 if (navigator.userAgent.match(/Opera/)) EstimatedSnowCount *= 0.5; // Hot fix opera
 return EstimatedSnowCount;
}

function exRandom(Min, Max, Natural) {
 if (typeof Natural == 'undefined')
  Natural = false;
 if (Natural) {
  return Math.floor(Min + (Max - Min + 0.999999) * Math.random());
 }
 else
  return Min + (Max - Min) * Math.random();
}

function exSnowStart() {
 Snow = new Array();
 for (i = 0; i < SnowCount; i++) {
  var e = document.createElement("span");
  e.className = 'exSnowClass';
  e.style.fontFamily = 'Times';
  e.style.fontSize = (SnowMinSize + Math.floor((SnowMaxSize - SnowMinSize) * Math.random())) + 'px';
  e.style.color = SnowColors[exRandom(0, SnowColors.length-1, true)];
  e.style.cursor = 'default';
  e.style.position = 'absolute';
  e.onselectstart = function () { return false; };
  var t = document.createTextNode("*");
  e.appendChild(t);
  Snow[i] = document.body.appendChild(e);
 }
 exSnowRefresh();
 exSnowMove();
}

function exSnowRefresh() {
 SnowBoxWidth = document.body.clientWidth;
 SnowBoxHeight = document.body.clientHeight;
 for (i = 0; i < Snow.length; i++) {
  var e = Snow[i];
  e.YSpeed = exRandom(SnowMinYSpeed, SnowMaxYSpeed);
  e.XSpeed = exRandom(SnowMinXSpeed, SnowMaxXSpeed);
  e.XMaxDelta = exRandom(SnowMinXDelta, SnowMaxXDelta);
  e.XDelta = Math.PI * Math.random(); // Stored Radial Delta (Radian)
  e.X = exRandom(SnowMaxXDelta, SnowBoxWidth - SnowMaxXDelta - SnowMaxSize);
  e.Y = exRandom(0, SnowBoxHeight - SnowMaxSize);
  e.style.left = e.X + 'px';
  e.style.top = e.Y + 'px';
 }
}

function exSnowMove() {
 for (i = 0; i < Snow.length; i++) {
  with (Snow[i]) {
   Y = (Y + YSpeed < SnowBoxHeight - SnowMaxSize) ? Y + YSpeed : 0;
   XDelta += XSpeed;
   style.left = X + Math.sin(XDelta) * XMaxDelta + 'px';
   style.top = Y + 'px';
  }
 }
 setTimeout("exSnowMove()", SnowMoveDelay);
}

function exAddEvent(o, e, f) {
 if (typeof o.addEventListener != 'undefined')
  o.addEventListener(e, f, false);
 else if (typeof o.attachEvent != 'undefined')
  o.attachEvent("on" + e, f);
 else
  return false;
 return true;
}</script>


3. Abspeichern und das wars auch schon.

Ich wünsche euch ganz viel Freude mit dem Schnee!

5 Kommentare:

  1. wundervoller blog:)
    jetzt hast du ein leser mehr<3
    schau mal vorbei wenn du lust hast;)
    http://laundli.blogspot.com/
    kussi L&L:*

    AntwortenLöschen
  2. Haii =D
    habe dich geblogawardet, wäre super, wenn du mitmachst!
    http://ciachen-loves-makeup.blogspot.com/2012/01/mein-blog-award.html

    AntwortenLöschen
  3. Jetzt schneits endlich auch in Echt :-)

    AntwortenLöschen
  4. Hi :-)
    Ich habe das auch mit dem Schnee versucht aber irgendwie geht das bei mir nicht.
    Kannst du mir vielleicht helfen?
    Lg

    AntwortenLöschen
  5. Vielen Dank, jetzt weis ich es auch wies funktioniert.
    Übrigens: ich habe dich getaggt, schau einfach auf meinem Blog vorbei.

    Lg Hannah

    AntwortenLöschen