. .
pragmaMx Support Forum 25 Mai 2012, 19:55:49 *
Willkommen Gast. Bitte einloggen oder registrieren.


Einloggen mit Benutzername und Passwort
News:
Brauchen Sie Hilfe? Bitte nutzen Sie unsere Suchfunktion bevor Sie Beiträge oder Fragen ins Board schreiben! Viele Fragen wurden bereits gestellt und beantwortet. Danke!
 
Übersicht Hilfe Forenregeln / Boardrules
 
Suche
Seiten: [1]   Nach unten
Drucken
Autor Thema: Feuerwerk einbinden  (Gelesen 1980 mal)
0 Mitglieder und 1 Gast betrachten dieses Thema.
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« am: 30 Dezember 2008, 16:22:07 »

Hi,

ich wollt morgen wieder ein Feuerwerk einbinden. Das hab ich bisher immer per Hand über die Fusszeilen gemacht.

Das müßte man doch auch automatisieren können (ähnlich dem X-MAS Block) so das man das Script in einem Block unterbringt und diesen nur vom 31.12. (vielleicht sogar ab ner bestimmten Uhrzeit) bis zum 01.01. anzeigt. Fänd ich praktisch.

Stell ich mir das mal wieder zu leicht vor ?

Gruß Eismann

PS: Das Script sähe so aus:
Code: [Select]  
<SCRIPT TYPE="text/javascript">
/**
  * You may use this code for free on any web page provided that
  * these comment lines and the following credit remain in the code.
  * Cross Browser Fireworks from http://www.javascript-fx.com
  */
/*************************************************/
if(!window.JSFX) JSFX=new Object();

if(!JSFX.createLayer)
{/*** Include Library Code ***/

var ns4 = document.layers;
var ie4 = document.all;
JSFX.objNo=0;

JSFX.getObjId = function(){return "JSFX_obj" + JSFX.objNo++;};

JSFX.createLayer = function(theHtml)
{
var layerId = JSFX.getObjId();

document.write(ns4 ? "<LAYER  NAME='"+layerId+"'>"+theHtml+"</LAYER>" :
   "<DIV id='"+layerId+"' style='position:absolute'>"+theHtml+"</DIV>" );

var el = document.getElementById ? document.getElementById(layerId) :
document.all ? document.all[layerId] :
  document.layers[layerId];

if(ns4)
el.style=el;

return el;
}
JSFX.fxLayer = function(theHtml)
{
if(theHtml == null) return;
this.el = JSFX.createLayer(theHtml);
}
var proto = JSFX.fxLayer.prototype

proto.moveTo     = function(x,y){this.el.style.left = x;this.el.style.top=y;}
proto.setBgColor = function(color) { this.el.style.backgroundColor = color; }
proto.clip       = function(x1,y1, x2,y2){ this.el.style.clip="rect("+y1+" "+x2+" "+y2+" "+x1+")"; }
if(ns4){
proto.clip = function(x1,y1, x2,y2){
this.el.style.clip.top =y1;this.el.style.clip.left =x1;
this.el.style.clip.bottom=y2;this.el.style.clip.right =x2;
}
proto.setBgColor=function(color) { this.el.bgColor = color; }
}
if(window.opera)
proto.setBgColor = function(color) { this.el.style.color = color==null?'transparent':color; }

if(window.innerWidth)
{
gX=function(){return innerWidth;};
gY=function(){return innerHeight;};
}
else
{
gX=function(){return document.body.clientWidth;};
gY=function(){return document.body.clientHeight;};
}

/*** Example extend class ***/
JSFX.fxLayer2 = function(theHtml)
{
this.superC = JSFX.fxLayer;
this.superC(theHtml + "C");
}
JSFX.fxLayer2.prototype = new JSFX.fxLayer;
}/*** End Library Code ***/

/*************************************************/

/*** Class Firework extends FxLayer ***/
JSFX.Firework = function(fwImages)
{
window[ this.id = JSFX.getObjId() ] = this;
this.imgId = "i" + this.id;
this.fwImages  = fwImages;
this.numImages = fwImages.length;
this.superC = JSFX.fxLayer;
this.superC("<img src='"+fwImages[0].src+"' name='"+this.imgId+"'>");

this.img = document.layers ? this.el.document.images[0] : document.images[this.imgId];
this.step = 0;
this.timerId = -1;
this.x = 0;
this.y = 0;
this.dx = 0;
this.dy = 0;
this.ay = 0.2;
this.state = "OFF";
}
JSFX.Firework.prototype = new JSFX.fxLayer;

JSFX.Firework.prototype.getMaxDy = function()
{
var ydiff = gY() - 130;
var dy    = 1;
var dist  = 0;
var ay    = this.ay;
while(dist<ydiff)
{
dist += dy;
dy+=ay;
}
return -dy;
}
JSFX.Firework.prototype.setFrame = function()
{
// this.img.src=this.fwName+"/"+this.step+".gif";
this.img.src=this.fwImages[ this.step ].src;
}
JSFX.Firework.prototype.animate = function()
{

if(this.state=="OFF")
{

this.step = 0;
this.x = -200;
this.y = -200;
this.moveTo(this.x, this.y);
this.setFrame();
if(Math.random() > .95)
{
this.x = (gX()-100)*Math.random();
this.y = (gY()-100)*Math.random();
this.moveTo(this.x, this.y);
this.state = "EXPLODE";
}
}
else if(this.state == "EXPLODE")
{
this.step++;
if(this.step < this.numImages)
this.setFrame();
else
this.state="OFF";
}
}
/*** END Class Firework***/

/*** Class FireworkDisplay extends Object ***/
JSFX.FireworkDisplay = function(n, fwImages, numImages)
{
window[ this.id = JSFX.getObjId() ] = this;
this.timerId = -1;
this.fireworks = new Array();
this.imgArray = new Array();
this.loadCount=0;
this.loadImages(fwImages, numImages);

for(var i=0 ; i<n ; i++)
this.fireworks[this.fireworks.length] = new JSFX.Firework(this.imgArray);
}
JSFX.FireworkDisplay.prototype.loadImages = function(fwName, numImages)
{
for(var i=0 ; i<numImages ; i++)
{
this.imgArray[i] = new Image();
this.imgArray[i].obj = this;
this.imgArray[i].onload = window[this.id].imageLoaded;
this.imgArray[i].src = fwName+"/"+i+".gif";
}
}
JSFX.FireworkDisplay.prototype.imageLoaded = function()
{
this.obj.loadCount++;
}

JSFX.FireworkDisplay.prototype.animate = function()
{
status = this.loadCount;
if(this.loadCount < this.imgArray.length)
return;

for(var i=0 ; i<this.fireworks.length ; i++)
this.fireworks[i].animate();
}
JSFX.FireworkDisplay.prototype.start = function()
{
if(this.timerId == -1)
{
this.state = "OFF";
this.timerId = setInterval("window."+this.id+".animate()", 40);
}

}
JSFX.FireworkDisplay.prototype.stop = function()
{
if(this.timerId != -1)
{
clearInterval(this.timerId);
this.timerId = -1;
for(var i=0 ; i<this.fireworks.length ; i++)
{
this.fireworks[i].moveTo(-100, -100);
this.fireworks[i].step = 0;;
this.fireworks[i].state = "OFF";
}
}
}
/*** END Class FireworkDisplay***/

JSFX.FWStart = function()
{
if(JSFX.FWLoad)JSFX.FWLoad();
myFW.start();
}
myFW = new JSFX.FireworkDisplay(num_fireworks=20, firework_images="fw01", num_frames=21);
JSFX.FWLoad=window.onload;
window.onload=JSFX.FWStart;

</SCRIPT>
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
reddragon
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.028


WWW
« Antworten #1 am: 30 Dezember 2008, 17:59:41 »

Andi hatte da mal was:
http://www.pragmamx.org/Forum-topic-27896-start-msg181032.html#msg181032

Ein Jahreswechsel dazwischen scheint ja Sinnvoll Wink
Gespeichert

meine Seite -->http://mbc-clp.de/ <--- Smiley
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #2 am: 30 Dezember 2008, 18:35:15 »

Joa, die Variante hab ich fürs Schneescript. Das ist ja ne *.js Datei. Das Feuerwerk hab ich so nicht anslaufen bekommen.   rougi
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #3 am: 30 Dezember 2008, 22:32:17 »

Sorry Doppelpost edit ging nichtmehr

Ich hab das Script jetzt mal in eine feuerwerk.js gepackt. Ruf ich das ganze per

Code: [Select]  
<script type="text/javascript" src="script/feuerwerk.js"></script>

in den Einstellungen / Fusszeile auf, funktioniert es wie gewünscht. Binde ich das ganze per

Code: [Select]  
/* Beginn der Anzeige Feuerwerk (Datum, ohne Jahr) */
$beginn = '31.12.';

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

/* nur Startseite */
if (defined('MX_HOME_FILE')) {
/* Berechnung / Bedingung */
if ((time() >= strtotime($beginn . date('Y')) && time() <= mktime(0, 0, 0, 12, 31, date('Y')))
|| (time() >= mktime(0, 0, 0, 1, 1, date('Y')) && (time() <= strtotime($ende . date('Y'))))) {

/* das Javascript... */
pmxHeader::add('<script type="text/javascript" src="script/feuerwerk.js"></script>');

}
}

anstatt des Schneescripts in die my_header.php ein kommt nix. Sehr komisch.

Nochwas, würde es reichen wenn man $beginn und $ende in $beginn2 und $ende2 ändert um das für Schnee und Feuerwerk getrennt einstellbar über die my_header.php zu steuern ?
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
matze0709
neu hier
*
Offline Offline

Geschlecht: Männlich
Beiträge: 1


WWW
« Antworten #4 am: 30 Dezember 2008, 23:38:06 »

Hallo zusammen,

ich bin neu hier und bin aber schon öfter als Gast in diesem Forum unterwegs um für meine HP zu lernen.

Aber zum Thema:
@ Eismann1976

Kann es daran liegen, dass du dieses Einbindung in die my_header am 30.12. testen möchtest?
Du hast doch aber im Script geschrieben "Beginn der Anzeige: 31.12."

Das kann ja dann heute noch nicht laufen, oder?
Gespeichert

Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #5 am: 31 Dezember 2008, 06:26:49 »

Moin,

der Tip war garnicht schlecht. Sowas kann schonmal passieren. Das Datum ist aber richtig (hab einfach kurz das Schneescript ersetzt).
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
GerhardSt
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 1.035

GerhardSt


« Antworten #6 am: 31 Dezember 2008, 15:11:32 »

Hi Eismann1976, Smiley

hast du in der feuerwerk.js oben noch
Code: [Select]  
<SCRIPT TYPE="text/javascript">
stehen und unten
Code: [Select]  
</SCRIPT>

Dann kann das nicht funktionieren Wink

Lösche das mal raus und dein Script müsste laufen biggrin
Gespeichert



CMS-Version: pragmaMx 0.1.11.3, 1.33.2.12.2.9.2.3/2010-08-02
PHP-Version: 5.3.3-0.dotdeb.1
MySQL-Version: 5.0.51a-24+lenny4
Server-Version: Apache/2.2.9 (Debian) PHP/5.3.3-0.dotdeb.1 with Suhosin-Patch

IE 8 oder Firefox
Eismann1976
Unerreicht
******
Offline Offline

Geschlecht: Männlich
Beiträge: 819

Eismann1976


WWW
« Antworten #7 am: 31 Dezember 2008, 15:43:21 »

Ne, ist natürlich raus.

Es geht ja wenn ich es in die Fusszeile einbinde (hab ich heute mangels Alternative). Deswegen nervt mich es ja so, dass es nicht mit Andis Codeschnippsel funzt.
Gespeichert

LG Eismann

Kein Support per PN/ICQ/MSN ect.
Bitte schreibt eure Frage ins Forum, so haben Alle was von der Antwort.
Viele Antworten findest du auch im DOKUWIKI


http://www.wtj-clan.de | pragmaMx 0.1.11.2 &  1.12 RC2 | PHP: 5.2.9 | mysql: 5.1.33 | apache: 2.2.11 (Win32) & Microsoft-IIS/7.5
Seiten: [1]   Nach oben
Drucken
 
Gehe zu:  

Powered by SMF 1.1.16 | SMF © 2011, Simple Machines
design by hENNE, layout based on YAML