Autor |
Nachricht |
niggo
Threadersteller
Dabei seit: 08.10.2005
Ort: Stadt die es nicht gibt
Alter: -
Geschlecht:
|
Verfasst Fr 19.03.2010 23:58
Titel JS "Image Cross Fader" in PHP |
|
|
moin!!
werde mich wohl die tage noch häufiger mal melden...
jetzt möchte ich gerne den Image Cross Fader Redux in eine php-seite einbauen. leider kommt da mist bei raus. wird wohl ein problem bei der übergabe von werten sein...
was muss denn geändert werden, dass das läuft? habe leider keinerlei ahnung von javascript...
Code: | window.addEventListener?window.addEventListener("load",so_init,false):window.attachEvent("onload",so_init);
var d=document, imgs = new Array(), zInterval = null, current=0, pause=false;
function so_init() {
if(!d.getElementById || !d.createElement)return;
// DON'T FORGET TO GRAB THIS FILE AND PLACE IT ON YOUR SERVER IN THE SAME DIRECTORY AS THE JAVASCRIPT!
// http://slayeroffice.com/code/imageCrossFade/xfade2.css
css = d.createElement("link");
css.setAttribute("href","xfade2.css");
css.setAttribute("rel","stylesheet");
css.setAttribute("type","text/css");
d.getElementsByTagName("head")[0].appendChild(css);
imgs = d.getElementById("imageContainer").getElementsByTagName("img");
for(i=1;i<imgs.length;i++) imgs[i].xOpacity = 0;
imgs[0].style.display = "block";
imgs[0].xOpacity = .99;
setTimeout(so_xfade,1000);
}
function so_xfade() {
cOpacity = imgs[current].xOpacity;
nIndex = imgs[current+1]?current+1:0;
nOpacity = imgs[nIndex].xOpacity;
cOpacity-=.05;
nOpacity+=.05;
imgs[nIndex].style.display = "block";
imgs[current].xOpacity = cOpacity;
imgs[nIndex].xOpacity = nOpacity;
setOpacity(imgs[current]);
setOpacity(imgs[nIndex]);
if(cOpacity<=0) {
imgs[current].style.display = "none";
current = nIndex;
setTimeout(so_xfade,1000);
} else {
setTimeout(so_xfade,50);
}
function setOpacity(obj) {
if(obj.xOpacity>.99) {
obj.xOpacity = .99;
return;
}
obj.style.opacity = obj.xOpacity;
obj.style.MozOpacity = obj.xOpacity;
obj.style.filter = "alpha(opacity=" + (obj.xOpacity*100) + ")";
}
} |
danke, n.
|
|
|
|
|
safer-print
Dabei seit: 11.03.2010
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 20.03.2010 11:27
Titel
|
|
|
Du musst Javascript innerhalb der PHP-Codeblöcke als Ausgabe (echo) einsetzten:
Code: |
<?php
echo '<script>[ bla bla ]</script>';
?>
|
sonst versucht der Interpreter es als PHP auszuführen, was, wie du gemerkt hast, nicht funktioniert.
|
|
|
|
|
Anzeige
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Sa 20.03.2010 11:49
Titel
|
|
|
Das ist doch Quatsch. Alles, was *nicht* in <?PHP-Blöcken eingeschlossen wird, wird auch nicht ausgeführt. Was du da machst, ist darüber hinaus unglaublich schlechter Coding-Style.
Zuletzt bearbeitet von bacon am Sa 20.03.2010 11:49, insgesamt 1-mal bearbeitet
|
|
|
|
|
safer-print
Dabei seit: 11.03.2010
Ort: -
Alter: -
Geschlecht:
|
Verfasst Sa 20.03.2010 11:55
Titel
|
|
|
Das ist natürlich nicht Quatsch, sondern eine Möglichkeit. niggo hatte das Problem eines PHP-Fehlers und der lässt sich so umgehen. Natürlich hat er außerdem die Möglichkeit das Javascript außerhalb der Codeblöcke auszugeben. Aber bezüglich Programmierstils ist es Geschmackssache über die sich streiten lässt. Man kann das Javascript auch extern einbinden, was in dem Fall wohl die sauberste Lösung wäre.
|
|
|
|
|
bacon
Dabei seit: 24.10.2007
Ort: -
Alter: -
Geschlecht: -
|
Verfasst So 21.03.2010 09:46
Titel
|
|
|
Das ist mitnichten eine Frage des Geschmacks, das ist einfach eine Frage der Wahl der richtigen Entwurfsmuster.
Was du betreibst, ist eine Mischung zwischen Anwendungslogik und Präsentation, daraus bedingt ein monolithischer Aufbau und damit schlichtweg schlechter Stil.
Das lässt sich nicht nur subjektiv einschätzen, sondern glasklar, objektiv und nach gängigen Kritierien bewerten. Und die Bewertung lautet zwangsläufig: Das ist Müll, was du da oben verzapft hast.
|
|
|
|
|
niggo
Threadersteller
Dabei seit: 08.10.2005
Ort: Stadt die es nicht gibt
Alter: -
Geschlecht:
|
Verfasst So 21.03.2010 13:27
Titel
|
|
|
so kinners, genug gezofft...
mein problem hat sich auch schon in luft aufgelöst. nicht php war das problem, sondern ich hatte im css mist gebaut...
trotzdem danke!!
n.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Suche kleine swf - Image Fader
Wo finde ich diesen Fader für Gallery, diesen Smooth-Fader u
Cross-Browser-Stuff: IE7
suche ein fall out Image Menu, mit 3 image ebenen
Cross Browser Test mit FWP screenshots
Gif Animation: Farb-Überblendung (Cross-Fade) - Software?
|
|