CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
HTML, CSS und JavaScript Help! Hier gibt es Hilfe zu HTML, CSS und JavaScript Problemen |
03.02.2009, 20:59:32
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 48
Beiträge: 5
|
|
Zufalls Lauflicht Effekt
Hallo zusammen!
ich habe folgendes JavaScript in einer PHP-Datei eingebettet:
Code:
echo '<script src="js/blend.js" type="text/javascript" language="JavaScript1.2"></script>';
Code:
function high(which2){
theobject=which2
highlighting=setInterval("highlightit(theobject)",50)
}
function low(which2){
clearInterval(highlighting)
if (which2.style.MozOpacity)
which2.style.MozOpacity=0.3
else if (which2.filters)
which2.filters.alpha.opacity=40
}
function highlightit(cur2){
if (cur2.style.MozOpacity<1)
cur2.style.MozOpacity=parseFloat(cur2.style.MozOpacity)+0.1
else if (cur2.filters&&cur2.filters.alpha.opacity<100)
cur2.filters.alpha.opacity+=10
else if (window.highlighting)
clearInterval(highlighting)
}
Diesen Code benutze ich, um Bilder in einer Tabelle zu "highlighten".
Code:
<table>
<tbody>
<tr>
<td><a href="pkinc/public/bk_events/2009/02/06_07__02_2009.png" rel="lightbox[flyer]"><img src="pkinc/public/bk_events/2009/02/195px/06_07__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/13__02_2009.png" rel="lightbox[flyer]"><img src="pkinc/public/bk_events/2009/02/195px/13__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/14__02_2009.png" rel="lightbox[flyer]"><img src="pkinc/public/bk_events/2009/02/195px/14__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
</tr>
<tr>
<td><a href="pkinc/public/bk_events/2009/02/19__02_2009.png" rel="lightbox[flyer]"><img src="pkinc/public/bk_events/2009/02/195px/19__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/20_21__02_2009.png" rel="lightbox[flyer]"><img src="pkinc/public/bk_events/2009/02/195px/20_21__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/27_28__02_2009.png" rel="lightbox[flyer]"><img src="pkinc/public/bk_events/2009/02/195px/27_28__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
</tr>
</tbody>
</table>
Das Funktioniert auch wunderbar!
__________________________________________________________
Zu meiner Problemaufgabe:
(Folgendes Script ist reine Fantasie und entspricht keiner realistischen Syntax! ...da ich keine weiß, mich aber damit versuche auszudrücken)
Nun möchte ich alles so modifiziert haben, dass diese Bilder sich jeweilig nach Zufallsalgorythmus automatisch "highlighten" und damit eine Art dynamischer Lauflichteffekt entsteht.
Der Zufallsalgorythmus soll im Script nach einem Modus festgelegt werden können nach dem Prinzip.
Code:
function highlight() {
$mode = "1";
// Alle Modi in ein Array
$array = range ( 1,8 );
$mixmode = $array( 1 => $alg1,
2 => $alg2,
3 => $alg3,
4 => $alg4,
5 => $alg5,
6 => $alg6,
7 => $alg7,
8 => $alg8 );
// Alle Modi mischen
shuffle ( $array );
$shuffle = "$mixmode";
if $mode == "1" { $mode = $alg1; }
elseif $mode == "2" { $mode = $alg2; }
elseif $mode == "3" { $mode = $alg3; }
elseif $mode == "4" { $mode = $alg4; }
elseif $mode == "5" { $mode = $alg5; }
elseif $mode == "6" { $mode = $alg6; }
elseif $mode == "7" { $mode = $alg7; }
elseif $mode == "8" { $mode = $alg8; }
else $mode == "shuffled" { $mode = $shuffle; }
// Algorythmen fuer die Bilder 1 bis 6
$alg1 = (1,2,3,4,5,6);
$alg2 = (6,5,4,3,2,1);
$alg3 = (1,3,5,2,4,6);
$alg4 = (2,4,6,1,3,5);
$alg5 = (6,4,2,5,3,1);
$alg6 = (5,3,1,6,4,2);
$alg7 = (1,2,5,6,3,4);
$alg8 = (2,3,1,4,6,5); // usw.
}
Wenn man mit der Maus dann über ein Bild fährt, soll dieses Bild dann "highlighten" und der Lauflichteffekt stoppen.
Außerdem ist mir unklar, wie ich den Bildern eine eindeutige < img ID > zuweise, damit die Funktion auf ihnen angewand wird und sich im Interval "highlighten".
Oder muss das < td > ausgelesen werden?
Ich habe echt keinen blassen Schimmer davon wie man das Projekt mit PHP umsetzen könnte und bin auf "klügere Köpfe" (was das angeht) angewiesen...
Hat jemand eine Lösung wie das alles geht?
LG
Nestoslider
|
03.02.2009, 22:27:46
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Zufalls Lauflicht Effekt
das ganze ist auf jeden fall eine client-seitige angelegenheit und damit ein fall für javascript.
cx
|
03.02.2009, 22:41:55
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: Zufalls Lauflicht Effekt
Soweit ich es richtig wieder gebe müsstest du dem <td> ein Javascript aufbügeln.
Dieses Script wechselt per angebenenen Zeitinterval die Hintergrundfarbe des td in einem Bereich von x-y, x und y beziehen sich dabei auf den Start- und Endfarbwert zwischen dem gewechselt werden soll.
Solche Scripte gibts haufenweise im Web. Frag mich nicht wie sie geschrieben werden müssen.
Stoppen der Scripte halt mit mouseover.
|
04.02.2009, 22:34:16
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 48
Beiträge: 5
|
|
AW: Zufalls Lauflicht Effekt
Ich habe das jetzt mal so versucht, aber leider läuft das nicht.
Wäre echt lieb, wenn da mal jemand drüber schaut ... irgendwie bekomme ich das mit der Syntax nicht auf die Reihe.
Ihr erkennt ja meinen guten Willen, ich schaffe es nur leider nicht ohne Hilfe und sehe mittlerweile auch den Wald vor lauter Bäumen nicht.
Ich übersehe da etwas was ein anderer nicht übersehen würde damit es klappt .oO wenn das jemand sogar abänderte wäre das natürlich super!
(Der Code der blend.js steht in meinem 1. Post)
Code:
echo '<script type="text/javascript" src="js/blend.js"></script>';
$high='high(this)';
$low ='low(this)';
unset($styles);
$styles ='';
if $styles ='' {
$styles= new Array('.$high.','.$low.');
}
function change(i) {
$style = $styles[Math.floor(styles.length*Math.random())]
if (document.layers)
window.document.layers['id' + i].bgColor = '.$style.';
else if (document.all)
window.document.all['id' + i].style.background = '.$style.';
}
function loop() {
change(Math.floor(6*Math.random()));
setTimeout('loop()',50);
}
echo' <table>
<tbody>
<tr>
<td><a href="pkinc/public/bk_events/2009/02/06_07__02_2009.png" rel="lightbox[flyer]"><img id="id0" src="pkinc/public/bk_events/2009/02/195px/06_07__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/13__02_2009.png" rel="lightbox[flyer]"><img id="id1" src="pkinc/public/bk_events/2009/02/195px/13__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/14__02_2009.png" rel="lightbox[flyer]"><img id="id2" src="pkinc/public/bk_events/2009/02/195px/14__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
</tr>
<tr>
<td><a href="pkinc/public/bk_events/2009/02/19__02_2009.png" rel="lightbox[flyer]"><img id="id3" src="pkinc/public/bk_events/2009/02/195px/19__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/20_21__02_2009.png" rel="lightbox[flyer]"><img id="id4" src="pkinc/public/bk_events/2009/02/195px/20_21__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
<td><a href="pkinc/public/bk_events/2009/02/27_28__02_2009.png" rel="lightbox[flyer]"><img id="id5" src="pkinc/public/bk_events/2009/02/195px/27_28__02_2009.png" alt="06/07. Februar" width="195" height="260" style="filter:alpha(opacity=70);-moz-opacity:0.7" onMouseover="high(this)" onMouseout="low(this)" /></a></td>
</tr>
</tbody>
</table>
';
Ich bekomme immer Fehlermeldungen:
Parse error: parse error, unexpected T_VARIABLE, expecting '(' in /srv/www/blablubb
und all sowas...
und das hier
Code:
window.document.layers['id' + i].bgColor = '.$style.';
else if (document.all)
window.document.all['id' + i].style.background = '.$style.';
scheint ja auch noch nicht wirklich zu stimmen ... ich habe nur leider keine Ahnung wie ich das auf's IMAGE TAG anwenden könnte...
Eigentlich sollte das Script ja nur das machen, was der MouseOver und MouseOut in der Tabelle bereits manuell macht.
Ich habe leider nichts Besseres an Scripten im Internet zum Abändern gefunden...
Vielleicht hat ja noch jemand Alternativen?
Bin um Hilfe echt dankbar...
LG Nestoslider^^
Geändert von Nestoslider (04.02.2009 um 22:42:59 Uhr)
|
04.02.2009, 22:48:52
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: Zufalls Lauflicht Effekt
Ich glaub du versuchst hier PHP, Javascript und HTML zu mischen ohne zu wissen, was, wann und wo einsetzt.
PHP kann mit document.all etc. nichts anfangen.
Javascript kann glaub ich mit $style nichts anfangen.
Falls du versuchst hier ein Javascript mit PHP zu schreiben, dann fehlen eine Menge echo oder print Befehle.
PHP wiederum kann nur Serverseitig funktionieren. Somit kann es nicht prüfen, welche Styles gerade beim User gesetzt sind.
Cleint seitig, kannst du kein PHP einsetzen. Ob auf mouseover oder mousedown reagiert wird kannst du nur mit Clientseitigen Scripts erledigen. (Javascript wäre hier das einfachste vermutlich)
Geändert von urvater (04.02.2009 um 22:52:08 Uhr)
Grund: letzten Satz zugefügt
|
04.02.2009, 22:55:39
|
|
Senior Member
|
|
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 55
Beiträge: 1.044
|
|
AW: Zufalls Lauflicht Effekt
HTML-Code:
window.document.layers['id' + i].bgColor = '.$style.';
else if (document.all)
window.document.all['id' + i].style.background = '.$style.';
Bis auf $style, was per PHP ins document für die Ausgabe geschrieben wird mußt du hier auf Javascript zurück greifen. So wie dein geposteter Code aussieht kommt es aber nicht dazu, da PHP nirgend eine Anweisung hat, dieses in die Ausgabe zu schreiben. Vermutlich hast du es auch nicht ausserhalb des PHP Bereiches geschrieben.
|
04.02.2009, 23:48:27
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Zufalls Lauflicht Effekt
Zitat:
Zitat von urvater
Ich glaub du versuchst hier PHP, Javascript und HTML zu mischen[...]
|
auf mich hört ja keiner...
cx
|
04.02.2009, 23:57:33
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 48
Beiträge: 5
|
|
AW: Zufalls Lauflicht Effekt
Hallo Urvater und danke erst mal für Deine Antwort und das Du Dich damit auseinander gesetzt hast.
So sah es ja mal ursprünglich aus:
Code:
<html>
<head>
<style><!--
.relative { position:relative; }
//--></style>
<script language="JavaScript"><!--
var colors= new Array('#ff0000','#00ff00','#0000ff');
function change(i) {
var color = colors[Math.floor(colors.length*Math.random())]
if (document.layers)
window.document.layers['id' + i].bgColor = color;
else if (document.all)
window.document.all['id' + i].style.background = color;
}
function loop() {
change(Math.floor(9*Math.random()));
setTimeout('loop()',50);
}
//--></script>
</head>
<body onLoad="loop()">
<table>
<tr>
<td id="id0" class="relative">test</td>
<td id="id1" class="relative">test</td>
<td id="id2" class="relative">test</td>
</tr>
<tr>
<td id="id3" class="relative">test</td>
<td id="id4" class="relative">test</td>
<td id="id5" class="relative">test</td>
</tr>
<tr>
<td id="id6" class="relative">test</td>
<td id="id7" class="relative">test</td>
<td id="id8" class="relative">test</td>
</tr>
</table>
</body>
</html>
Nun hatte ich aber das Problem, dass das Script ja schließlich ursprünglich die bgcolor einer Tabellenzelle ändert und es sich nicht auf's IMAGE TAG bezieht.
Wenn ich nun dem "new Array" die Werte high(this) und low(this) zugewiesen habe, wurden diese leider nicht erkannt und als Fehler ausgegeben.
Und stimmt, Du hast recht! Ich bearbeite im Allgemeinen immer nur strikt voneinander getrennten Code und bin den Umgang zwischen PHP und JavaScript von der Syntax her zu trennen einfach nicht gewohnt.
Nur wie bekomme ich das jetzt hin, dass high(this) und low(this) in einem zufälligen Algorhythmus im Interval sind und anhält sobald mit der Mouse drübergefahren wird und dann jenes Bild mit high(this) versehen wird?
Gibt es denn da keine Lösung zu?
Geändert von Nestoslider (05.02.2009 um 00:01:01 Uhr)
|
04.02.2009, 23:59:14
|
Anfänger
|
|
Registriert seit: Feb 2009
Alter: 48
Beiträge: 5
|
|
AW: Zufalls Lauflicht Effekt
Nabend Cortex ;o)
Natürlich bin ich für jeden Tip dankbar.
.oO ich wusste es halt nur nicht besser...
|
05.02.2009, 10:16:57
|
SELFPHP Profi
|
|
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
|
|
AW: Zufalls Lauflicht Effekt
Zitat:
Zitat von Nestoslider
Gibt es denn da keine Lösung zu?
|
die gibt's bestimmt. leider kann ich dazu nichts beitragen - js ist nicht gerade mein ding - bastelarbeit.
wenn du eine möglichkeit suchst, js-code via php auszugeben bzw. einer js-funktion dynamisch php-generierte parameter zu übergeben... so einen code-schnipsel hätte ich zur hand .-
noch was allgemeines: wenn du des öfteren mit js arbeitest würde ich einen blick auf ein framework wie jQuery wagen; die einfachere syntax und ein werkzeugkoffer voll lösungen für die alltäglichen aufgaben des web-codings machen es lohnenswert.
cx
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 08:41:29 Uhr.
|