Schnee Sonne Laub etc.

Fragen zu HTML, CSS, eigenen Erweiterungen etc.
Mojo
Beiträge: 4
Registriert: 17.01.2015, 22:55

Schnee Sonne Laub etc.

Ungelesener Beitrag von Mojo » 29.01.2015, 02:02

Hallo an alle ich bin relativ neu im forum und bin schon sehr überweltigt vom FC-keller und anderen scripte schreiber
um das vorweg zu würdigen und zu schätzen was für eine große arbeit das ist und macht da ich selber lerne da mit um zu gehen und wie man solche scripte schreibt

ich habe folgende probleme ich möchte zu dem schnee script:
Script:Zeigen

Code: Alles auswählen

//
// Copyright (C) 2008 by Fabian Schlieper
// Schnee v1.2
// http://www.fabi.me/
// Ohne dieses Copyright darf dieser Code nicht verwendet werden!
//

// die ID des HTML-Elements, in dem es schneien soll
var snow_area_id = 'winter';

// maximale Anzahl der sichtbaren Schneeflocken
var snow_flake_count = 100;

// die verschiedenen Farbe, die die Schneeflocken haben sollen
var snow_colors = new Array('#AAAACC','#DDDDFF','#CCCCDD','#F3F3F3','#F0FFFF');

// die Schriftarten, aus denen die Schneeflocken bestehen sollen
var snow_fonts = new Array('Arial Black', 'Arial Narrow', 'Times', 'Comic Sans MS');

var snow_char = '*'; // das Zeichen, das als Schneeflocke verwendet wird
var snow_gravity = 0.8; // wie schnell die Schneeflocken fallen
var snow_max_size = 22; // die maximale Schriftgröße einer Schneeflocke
var snow_min_size = 10; // die minimale Schriftgröße einer Schneeflocke

var snow_init_delay = 50; // Verzögerungszeit in Millisekunden, bevor es zu schneien anfängt


// ######################################################################
// HIER ENDET DIE KONFIGURATION. ÄNDERUNGEN IM FOLGENDEN SETZEN JAVSCRIPT-KENNTNISSE VORAUS
// ######################################################################

var snow_init_time = 0;
var snowflakes = new Array();
var snow_area_el = null;

function createSnowflakes()
{
var style = 'position:absolute; top:-' + snow_max_size + 'px; z-index:99;';
for (var i = 0; i <= snow_flake_count; i++)
document.write('<sp' + 'an id="snwflk' + i + '" style="' + style + '">' + snow_char + '</sp' + 'an>');
}

function randInt(range) { return Math.floor(Math.random() * range); }

function initSnow()
{
snow_area_el = document.getElementById(snow_area_id);

// reapeat until we have the snow_area_el
if(!snow_area_el || snow_area_el.offsetWidth <= snow_max_size || snow_area_el.offsetHeight <= snow_max_size) {
// after 5 secs cancel
if(snow_init_time < 5000)
window.setTimeout('initSnow()', 50);

snow_init_time += 50;
return;
}

// offest fix
snow_area_el.style.position = 'relative';

for (var i = 0; i <= snow_flake_count; i++)
{
snowflakes[i] = document.getElementById('snwflk' + i);

snowflakes[i].size = (randInt(snow_max_size - snow_min_size) + snow_min_size);
snowflakes[i].posx = -snowflakes[i].size;
snowflakes[i].posy = -snowflakes[i].size;
snowflakes[i].sink = (snow_gravity * snowflakes[i].size / snow_min_size);
snowflakes[i].wobamp = (Math.random() * (snowflakes[i].size));
snowflakes[i].wob = 0.0;
snowflakes[i].wobspeed = (0.03 + Math.random() / 10.0);

snowflakes[i].style.fontFamily = snow_fonts[randInt(snow_fonts.length)];
snowflakes[i].style.fontSize = snowflakes[i].size + 'px';
snowflakes[i].style.color = snow_colors[randInt(snow_colors.length)];
}

window.setInterval('updateSnow()', 50);
}

function updateSnow()
{
var bl = snow_area_el.offsetLeft;
var bt = snow_area_el.offsetTop;
var bw = snow_area_el.offsetWidth;
var bh = snow_area_el.offsetHeight;
var br = bl + bw;
var bb = bt + bh;

for (var i = 0; i <= snow_flake_count; i++)
{
snowflakes[i].wob += snowflakes[i].wobspeed;
var x = snowflakes[i].posx + (snowflakes[i].wobamp * Math.sin(snowflakes[i].wob));
snowflakes[i].posy += snowflakes[i].sink;

snowflakes[i].style.left = Math.round(x) + 'px';
snowflakes[i].style.top = Math.round(snowflakes[i].posy) + 'px';

var s = snowflakes[i].size;
// check bounds
if (snowflakes[i].posy > (bb - s) || x < bl || x > (br - s))
{
snowflakes[i].posx = bl + s + randInt(bw - (3 * s));

if(snowflakes[i].posy < 0)
snowflakes[i].posy = bt + randInt(bh - 2 * s);
else
snowflakes[i].posy = bt;
}
}
}

// Schnee initialisieren
createSnowflakes();
window.setTimeout('initSnow()', Math.max(50, snow_init_delay));
keine zeichen einsetzten wie *+# etc. sondern an stelle gerne GIF.s einbauen als link zu den Bild ist es möglich das um zu setzten ich habe schon einiges am script getestet als test nur das es dan garnicht mehr funktionierte
ich würde mich gerne über eine zeitnahe antwort freuen mfg Mojo
Zuletzt geändert von 1. FC Keller am 30.01.2015, 10:28, insgesamt 1-mal geändert.
Grund: der Übersicht halber in Script- und Code-Tag verpackt

Benutzeravatar
Mogli
Beiträge: 462
Registriert: 18.10.2010, 23:42
Wohnort: Bayern
Kontaktdaten:

Re: Schnee Sonne Laub etc.

Ungelesener Beitrag von Mogli » 29.01.2015, 08:31

Hallo Mojo,

willkommen im Forum. Zu diesem Skript gibt es bereits einen Thread von ZischDings, mit einer sehr schönen Anleitung. Du kannst ihn hier finden: Schnee im Chat.

Benütz doch bitte beim nächsten mal vorher die Suchfunktion. Damit hättest du nämlich dein Problem schon längst lösen können! ;) :)

Schöne Grüße
Mogli
Großschreibung, Punkt und Komma sind nicht schwer und erfreut den Leser sehr! :-)
--------------------------------------------------------------------------------------------------------------------------------------------------

Mojo
Beiträge: 4
Registriert: 17.01.2015, 22:55

Re: Schnee Sonne Laub etc.

Ungelesener Beitrag von Mojo » 30.01.2015, 02:41

Hallo Mogli,
ich danke dir für deine schnelle antwort, deinen link zur lösung hatte ich schon gefunden und natürlich kenne ich auch die suchfunktion nur gab diese keinen aufschlusreichen lösungen zu diesem problem, die frage die ich habe wurde änlich auch schon mahl gestellt nur hatte darauf keiner geantwortet und wurde einfach ignorirt oder übersprungen, deshalb habe ich diese thema ganz spezifisch noch ma angefragt ohne teri tera den alle anderen iddehen oder vorschläge waren nicht genau das was ich wollte oder die lösung zu meinem problem, den ich möchte keinen hintergrund haben sondern anstat schnefloken als (*) symbol möchte ich einen GIF einsetzten können die ZB. laub bläter die runter purzeln anstat schneepflocken, den es ist ja nicht immer WINTER sondern gibt es ja auch herbst, frühling und sommer und möchte deswegen ein sonnen gif oder laub bläter die anstelle fom schnee runter fallen, den unten im script kann man nur das stern symbol oder änliches eisetzten deswegen möchte ich das umgesetzt haben um an dieser stelle ein GIF an zu wehnden da sich auf meinem webspace befindet.

Beispiel:

die zeile: var snow_char = '*'; // das Zeichen, das als Schneeflocke verwendet wird

ich möchte an dieser stelle ein ein link einsetzten könne ( BILD.GIF ) und kein symbol (*)

ich habe da zu mehrere scripte verglichen die etwas änlich sind und es mit diesem script versucht zu kombinieren, oder die anderen scripts versucht abseitz von diesem script ein zu setzten, doch beides ohne erfolg oder schlächte darstellungen, deswegen meine frage hier im forum ;-) zu diesem script speziel diese etwas umfunktionäl zu machen um GIF bilder einsetzten zu können DANKE im voraus ;-) :P :D

1. FC Keller
Moderator
Beiträge: 853
Registriert: 04.07.2004, 17:10
Wohnort: heimat:// Thüringen.Deutschland.eu/ Zeulenroda
Kontaktdaten:

Re: Schnee Sonne Laub etc.

Ungelesener Beitrag von 1. FC Keller » 30.01.2015, 10:33

Statt eines einzelnen Zeichens solltest du auch einen HTML-Code (wie ein img-Tag) einsetzen können, da das Ganze per document.write in den Chat geschrieben wird.
Das Script verwendet allerdings verschiedene Farben und Schriftarten, damit die Schneeflocken unterschiedlich aussehen. Bei einem Image wäre das dann natürlich nicht der Fall - alle Flocken/Blätter/Sonnen etc. würden gleich aussehen.

Die Zeile könnte in etwa so aussehen:

Code: Alles auswählen

var snow_char = '<img src="http://deineseite.de/sonne.gif">'; // das Zeichen, das als Schneeflocke verwendet wird
Ungetestet, aber wenn es mit dem Stern klappt sollte es so auch laufen.

PS: Das nächste mal bitte im entsprechenden Thread nachfragen statt ein neues zu öffnen ;-)

Mojo
Beiträge: 4
Registriert: 17.01.2015, 22:55

Re: Schnee Sonne Laub etc.

Ungelesener Beitrag von Mojo » 30.01.2015, 13:34

Hallo 1. FC Keller
finde es coll das du persöhnlich hier zu geeusert hast da ich einige deiner scripte wirklich bewundere und zum teil auch nutze

bei vielen scripte von generellen scripte von dir und anderen hette ich so gar persöhnlich noch verbesserungs vorschläge oder iddehen aber da zu komme ich dan bei bedarf mahl darauf zurück bei den alten Threats dann ;-)

ja alte threats vom datum her waren teilweise von 2010 aufwärts mehr oder weniger von daher war ich mir persöhnlich nicht sicher und habe deswegen einen eigen threat eröfnet zu diesem thema aber ich werds im hinterkopf behalten ;-)
so zum thema selbst leideer hat es nicht funktionirt das IMG tag habe ich in der änlichen form schon wo anderster mahl gefunden und funktionirte leider auch nicht :-( danke trotzdem für den TIP 1. FC Keller ;-)

Benutzeravatar
harry2109
Beiträge: 336
Registriert: 10.01.2010, 15:05
Wohnort: Nordhorn
Kontaktdaten:

Re: Schnee Sonne Laub etc.

Ungelesener Beitrag von harry2109 » 30.01.2015, 14:04

Moin Moin

Dann teste mal das volgende script was ich noch rum liegen hatte.
Script:Zeigen
//Hier die url zum gif
var snowsrc="URL-ZU-DEINEM-GIF"


// hier die anzahl der schneeflocken sollten nich mehr wie 15 sein
var no = 10;

/////////// Ab Hier nichts mehr ändern//////////////////////////////////

var hidesnowtime = 0;
var snowdistance = "windowheight";
var ie4up = (document.all) ? 1 : 0;
var ns6up = (document.getElementById&&!document.all) ? 1 : 0;

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

var dx, xp, yp;
var am, stx, sty;
var i, doc_width = 800, doc_height = 600;

if (ns6up) {
doc_width = self.innerWidth;
doc_height = self.innerHeight;
} else if (ie4up) {
doc_width = iecompattest().clientWidth;
doc_height = iecompattest().clientHeight;
}
dx = new Array();
xp = new Array();
yp = new Array();
am = new Array();
stx = new Array();
sty = new Array();
for (i = 0; i < no; ++ i) {
dx = 0;
xp = Math.random()*(doc_width-50);
yp = Math.random()*doc_height;
am = Math.random()*20;
stx = 0.02 + Math.random()/10;
sty = 0.7 + Math.random();
if (ie4up||ns6up) {
if (i == 0) {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
} else {
document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src='"+snowsrc+"' border=\"0\"><\/div>");
}
}
}
function snowIE_NS6() {
doc_width = ns6up?window.innerWidth-10 : iecompattest().clientWidth-10;
doc_height=(window.innerHeight && snowdistance=="windowheight")? window.innerHeight : (ie4up && snowdistance=="windowheight")? iecompattest().clientHeight : (ie4up && !window.opera && snowdistance=="pageheight")? iecompattest().scrollHeight : iecompattest().offsetHeight;
for (i = 0; i < no; ++ i) { // iterate for every dot
yp += sty;
if (yp > doc_height-50) {
xp = Math.random()*(doc_width-am[i]-30);
yp[i] = 0;
stx[i] = 0.02 + Math.random()/10;
sty[i] = 0.7 + Math.random();
}
dx[i] += stx[i];
document.getElementById("dot"+i).style.top=yp[i]+"px";
document.getElementById("dot"+i).style.left=xp[i] + am[i]*Math.sin(dx[i])+"px";
}
snowtimer=setTimeout("snowIE_NS6()", 10);
}
function hidesnow(){
if (window.snowtimer) clearTimeout(snowtimer)
for (i=0; i<no; i++) document.getElementById("dot"+i).style.visibility="hidden"
}

if (ie4up||ns6up){
snowIE_NS6();
if (hidesnowtime>0)
setTimeout("hidesnow()", hidesnowtime*1000)
}


Gruß Harry
Solltet ihr Rechtschreibfehler finden könnt ihr sie behalten denn ich Brauch sie nicht!

www.harry2109.de

Mojo
Beiträge: 4
Registriert: 17.01.2015, 22:55

Re: Schnee Sonne Laub etc.

Ungelesener Beitrag von Mojo » 03.02.2015, 23:03

Hallo Harry vielen dank das script funktionirt doch habe ich das probelm das es nicht mit dem chat mit geht sondern oben stehen bleibt und auch nur von der höhe her nicht gerade gros ist es wehre toll wen das noch angepast werden könnte so das es im ganzen chat zu sehen ist und auch mit dem chat mit geht wen man schreibt die halbe miete wehre zu mindestens mahl erreicht ;-) leider nur nicht fehler frei lieben dank und grüse Mojo

Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste