Schnee-Script für PMX 1.10

Begonnen von appelknolli, 26 November 2008, 15:28:39

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

appelknolli

kann es sein das dieses script extrem prozessor lastig ist?

auf meinem MacBook Pro Core 2 Duo 2.4 GHz und 4 gig-ram hängen beide kerne zwischen 80% und kotzgrenze.
getestet mit Safari, Opera und Firefox.
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

Franky

kann ich nicht bestätigen. Benutzt ja nicht mal Grafiken das Script.

:BD:
"Ich möchte schlafend sterben, wie mein Opa, nicht schreiend, wie sein Beifahrer."

appelknolli

ich habe jetzt mal das hier eingebaut

http://www.schloebe.de/scripts/schnee-script/  ...auch nicht viel besser in der prozessor last aber mit grafik  :BD:
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

Franky

mir zu bullig. Und überladen.

Da kannst ja nix mehr lesen.....  :cool:

na egal, hauptsache gefällt...

ciao

"Ich möchte schlafend sterben, wie mein Opa, nicht schreiend, wie sein Beifahrer."

appelknolli

naja, kannst ja selber grafiken erstellen und anzahl+fall geschwindigkeit einstellen  ;)
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

Franky

irgendwo gabs mal ein Script, da blieb der "Schnee" unten am BIldschirmrand liegen und wurde immer mehr, solange man nix macht.

Das war cool. Leider find ich das nicht mehr....

"Ich möchte schlafend sterben, wie mein Opa, nicht schreiend, wie sein Beifahrer."

appelknolli

was ich jetzt wiederum witzig finde, ist die tatsache das CSSEdit keine Prozessorlast erzeugt aber trotzdem alles korrekt anzeigt  :mad2:

die großen browser tun sich mit JavaScript schwer, hier auf meinem mac zumindest, aber so eine kleine Softwareschmiede die eine webengine in ihrem proggi eingebaut hat , kommt damit klar  :BD:.

@Franki, das derschneebleibtuntenliegen script wäre ja super  :BD:
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

appelknolli

das hier sit auch nicht schlecht und läßt die cores in ruhe :D


<script type="text/javascript">
// CREDITS:
// Snowmaker Copyright (c) 2003 Peter Gehrig. All rights reserved.
// Distributed by http://www.hypergurl.com
// Permission given to use the script provided that this notice remains as is.

// Set the number of snowflakes (more than 30 - 40 not recommended)
var snowmax=20

// Set the colors for the snow. Add as many colors as you like
var snowcolor=new Array("#aaaacc","#ddddFF","#ccccDD")

// Set the fonts, that create the snowflakes. Add as many fonts as you like
var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")

// Set the letter that creates your snowflake (recommended:*)
var snowletter="*"

// Set the speed of sinking (recommended values range from 0.3 to 2)
var sinkspeed=0.6

// Set the maximal-size of your snowflaxes
var snowmaxsize=40

// Set the minimal-size of your snowflaxes
var snowminsize=15

// Set the snowing-zone
// Set 1 for all-over-snowing, set 2 for left-side-snowing
// Set 3 for center-snowing, set 4 for right-side-snowing
var snowingzone=1

///////////////////////////////////////////////////////////////////////////
// CONFIGURATION ENDS HERE
///////////////////////////////////////////////////////////////////////////


// Do not edit below this line
var snow=new Array()
var marginbottom
var marginright
var timer
var i_snow=0
var x_mv=new Array();
var crds=new Array();
var lftrght=new Array();
var browserinfos=navigator.userAgent
var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
var ns6=document.getElementById&&!document.all
var opera=browserinfos.match(/Opera/) 
var browserok=ie5||ns6||opera

function randommaker(range) {       
    rand=Math.floor(range*Math.random())
    return rand
}

function initsnow() {
    if (ie5 || opera) {
        marginbottom = document.body.clientHeight
        marginright = document.body.clientWidth
    }
    else if (ns6) {
        marginbottom = window.innerHeight
        marginright = window.innerWidth
    }
    var snowsizerange=snowmaxsize-snowminsize
    for (i=0;i<=snowmax;i++) {
        crds[i] = 0;                     
        lftrght[i] = Math.random()*15;         
        x_mv[i] = 0.03 + Math.random()/10;
        snow[i]=document.getElementById("s"+i)
        snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]
        snow[i].size=randommaker(snowsizerange)+snowminsize
        snow[i].style.fontSize=snow[i].size
        snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
        snow[i].sink=sinkspeed*snow[i].size/5
        if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
        if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
        if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
        if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
        snow[i].posy=randommaker(6*marginbottom-marginbottom-6*snow[i].size)
        snow[i].style.left=snow[i].posx
        snow[i].style.top=snow[i].posy
    }
    movesnow()
}

function movesnow() {
    for (i=0;i<=snowmax;i++) {
        crds[i] += x_mv[i];
        snow[i].posy+=snow[i].sink
        snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]);
        snow[i].style.top=snow[i].posy
       
        if (snow[i].posy>=marginbottom-6*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
            if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
            if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
            if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
            if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
            snow[i].posy=0
        }
    }
    var timer=setTimeout("movesnow()",50)
}

for (i=0;i<=snowmax;i++) {
    document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"</span>")
}
if (browserok) {
    window.onload=initsnow
}
</script>
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

Franky

hab doch noch eins gefunden, bei dem der Schnee unten liegen bleibt.

Aber das wird deine Kiste ganz zum dampfen bringen  :BD: :pardon:

http://www.i-sft.de/snowstorm.zip

ciao

"Ich möchte schlafend sterben, wie mein Opa, nicht schreiend, wie sein Beifahrer."

appelknolli

Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

appelknolli

wie kann ich das script nur auf der startseite laufen lassen bzw. wie kann ich scripte generell nur auf der startseite laufen lassen?
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

Franky

schätze mal, das geht ohne tiefgreifende chirurgische Eingriffe nicht. Wenn überhaupt.

Sind ja keine statischen Seiten....

Und überhaupt, wenns schneit dann überall. Nicht nur im Garten  :BD:
"Ich möchte schlafend sterben, wie mein Opa, nicht schreiend, wie sein Beifahrer."

appelknolli


wenn man das script auf die startseite begrenzen würde, hätte man dann keine hohe prozessorlast auf den anderen seiten, wer bleibt den schon ewig auf der startseite?
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

Andi

Moin :)

man könnte das script in einen HTML-Center-Block oder eine Mitteilung packen, welche ja nur auf der Startseite angezeigt werden.

Oder etwas anspruchsvoller, wenn es in der my_header.php eingebunden wurde, dann kann man die Konstante MX_HOME_FILE abfragen:

if(defined('MX_HOME_FILE')) {
pmxHeader::add('<script type="text/javascript" src="PFAD ZUR JAVASCRIPTDATEI"></script>');
}
schön´s Grüssle, Andi

Franky

Moin Andy,

auf die Idee, Scripts dort laufen zu lassen, kam ich noch gar nicht. Dachte das funkt nicht bzw. macht nur Ärger.

OK, wäre nen Versuch wert!

Also Knolli, probier mal....  :BD:

Ich kanne erst morgen wenn ich wieder im Geschäft bin......

Greetz.....
"Ich möchte schlafend sterben, wie mein Opa, nicht schreiend, wie sein Beifahrer."

appelknolli

yo, genau so dachte ich es mir...danke  :drinks:

übrigens habe ich mich für das snowstorm.js entschieden, jedesmal wenne auf die seite kommst,
ändert sich die fallrichtung und der ,,schnee" bleibt liegen...netter geck!


bis denne  :JC_gimmefive:
Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

appelknolli

bevor ich es vergesse

ZitatAber das wird deine Kiste ganz zum dampfen bringen

ich mache die seite auf und lege das laptop dann auf die füsse meiner freundin und erspare mir so den kälteschock im bett  :P


Ade miteinand

Gottlos Glücklich. Ich lasse 1000 Friedenstauben fliegen und sie sch...auf die Welt

reddragon

@ Franky, super Script, Danke ! :thumbup:

@ Andi,

der Code für die my_header.php ist super, wenn man den nun noch mit Datum versehen würde, hätte man nie wieder ein gucken nach :BD:  ;)

Andi

Moin :)

Zitatwenn man den nun noch mit Datum versehen würde, hätte man nie wieder ein gucken nach
nette Spielerei....

<?php
/* Beginn der Anzeige (Datum, ohne Jahr) */
$beginn '1.12.';

/* Ende der Anzeige (Datum, ohne Jahr) */
$ende '7.1.';

/* nur Startseite */
if (defined('MX_HOME_FILE')) {
    
/* Berechnung / Bedingung */
    
if ((time() >= strtotime($beginn date('Y')) && time() <= mktime(0001231date('Y')))
        || (
time() >= mktime(00011date('Y'))  && (time() <= strtotime($ende date('Y'))))) {
        
        
/* das Javascript... */
        
pmxHeader::add('<script type="text/javascript" src="PFAD ZUR JAVASCRIPTDATEI"></script>');
    }
}
?>



Achtung!
- auf das Format der Datums achten: Punkt dazwischen und dahinter, ohne Jahr
- Zwischen Start und Endedatum muss der Jahreswechsel liegen, ansonsten müsste man die Berechnung noch komplexer aufbauen
schön´s Grüssle, Andi

GerhardSt

Hi :)

ich habe das bei mir so gelöst:
    $stamp = time();
    $monat = date("n", $stamp);

if ($monat == "10") {
pmxHeader::add('<script type="text/javascript" src="includes/javascript/laub.js"></script>');
}
elseif ($monat == "11" or "12") {
pmxHeader::add('<script type="text/javascript" src="includes/javascript/snow.js"></script>');
}


Jetzt fällt bei mir im Oktober das Laub und im November und Dezember der Schnee ;)


Geht zwar nicht, wie Andi´s Code am Tag genau, aber mir reicht das Monat auch :smile:

Gruß Gerhard