online 1
gast (50)

/ Forum / Skripte(PHP,ASP,Perl...)

Skripte(PHP,ASP,Perl...)Skripte(PHP,ASP,Perl...)

Fragevon sYpro vom 24.01.2022, 12:54 Options

Lösung

IMG-Swap (Gallerie) Problem

Hallö.

Ich habe ein kleines Problem. Es sieht folgendermaßen aus:
Auf einer Homepage habe ich einen kleinen Kasten in welchem ein
Bild erscheint zu jeder Kategorie ein anderes (manchmal auch
mehr).
Sollten dann zu der jeweiligen Kategorie mehr als 1 Bild vorhanden
sein erscheinen Links und Rechts Pfeile auf welche man klicken
kann um die Bilder zu wechseln (Die Bilder sind als Hintergrund in
der Tabelle.

Mein Script zum welchen sieht folgendermaßen aus:


function SwapImage(imgNum) { 

document.getElementById("myImage").style.backgroundImage = 
"url('imgNum')";

}


So nun zum eigentlichen Problem. Ich kenne mich nicht wirklich gut
aus in Javascript, aber in PHP würde ich dann einfach die Anzahl der
Bilder zählen und den String auseinandernehmen und die Zahl +1
an den Namen dran hängen, so dass halt das nächste Bild
erscheint..sollte dann das letzte Bild erreicht sein, also die Zahl am
Ende der Bilddatei größer als die gezählte Anzahl der Bilder, dann
soll er beim Ersten Bild anfangen.
Ich habe schon einiges rumprobiert, aber bisher keine wirkliche
Lösung gefunden, da ich PHP und Java hierbei irgendwie vereinen
müsste,

Ich bin für alle Vorschläge dankbar. Sollte das Problem nicht klar
genug sein, bitte einfach kurz fragen.

Danke!


Antwort schreiben

Antwort 1 von gast42 vom 24.01.2022, 13:26 Options

Zitat:
Mein Script zum welchen
funktioniert so nicht! Oder gibt's wirklich eine Datei namens 'imgNum'? Und welcher Browser interpretiert die als Bild?

Zum anderen Problem:
JavaScript kann keine Verzeichnisse auslesen! Du musst die zulässigen Dateinamen im Skript hinterlegen.
Wenn du PHP zur Verfügung hast kannst du das damit erledigen lassen, indem PHP das Skript oder zumindest einen Teil davon schreibt.

Antwort 2 von sYpro vom 24.01.2022, 14:03 Options

Hallo,

imgNum wird als Argument der Funktion übergeben wenn man auf
einen der Pfeile klickt - da ist der Bildpfad enthalten - geht also schon.
Mein eigentliches Problem ist (da durch das Javascript die Seite nicht
neu geladen wird) - die Erhöhung der Variable für das nächste Bild.
Hast du vielleicht dafür eine Idee?

Achja die Pfade des Bildes der jeweligen Kategorie wird durch eine if
Schleife festgelegt mit GET.

Danke schonmal

Antwort 3 von gast42 vom 24.01.2022, 19:03 Options

Zitat:
geht also schon
nee, kann gar nicht, da sind zuviele Anführungszeichen und keinerlei Stringverbinder!

Zitat:
Achja die Pfade des Bildes der jeweligen Kategorie wird durch eine if Schleife festgelegt mit GET.
und was sagt mir das?

Bitte beschreibe dein Problem so ausführlich wie möglich, dazu gehört (Original-)Quelltext!

Antwort 4 von sYpro vom 24.01.2022, 19:51 Options

Okay,

dass mit den Anführungszeichen kann eventuell sein - aber hatte es
getestet mit einem "einfachen" Bilderwechsel und dort ging es.
Wie gesagt dort liegt auch nicht mein Problem.

Es sieht wie folgt aus:

Link wird angeklickt (index.php?link=info) dort erscheint dann ein
Bild in einem Kasten (als Hintergrund einer Spalte) -
Codeausschnitt hierfür:


 if ( $_GET["link"] == "info")
 {
  $imagec3 = "Bilder/info/info.jpg";
 }


Hier dann der Code für den Pfeil:


onClick=\"SwapImage('$imagec3');


So jetzt wird ja der Link des jeweligen Bildes, welches zur Kategorie
passt, zur Funktion gesandt und dann auch angezeigt.
Mein Problem ist jetzt, dass durch die Javascript Funktion die Seite
nicht neu geladen wird und ich dadurch keine Möglichkeit habe
einfach eine Variable hochzählen zu lassen um dann in der Variable
das nächste Bild zu speichern.
Gibt es denn eine Möglichkeit eine PHP Funktion in einer Javascript
Funktion aufzurufen?

Danke

Antwort 5 von gast42 vom 24.01.2022, 20:45 Options

Zitat:
Gibt es denn eine Möglichkeit eine PHP Funktion in einer Javascript Funktion aufzurufen?
Nein! PHP wird auf dem Server ausgeführt, JavaScript im Browser. Dazwischen liegen etliche km Kabel und ein (für Computer) riesiger zeitlicher Abstand.

Antwort 6 von sYpro vom 24.01.2022, 20:47 Options

Ja sowas dacht ich mir schon.
Fällt dir/ euch sonst noch was ein, womit ich das verwirklichen
kann..was ich eigentlich verhindern möchte ist ein include, darum das
Javascript.

Antwort 7 von gast42 vom 24.01.2022, 20:56 Options

Zitat:
Fällt dir/ euch sonst noch was ein, womit ich das verwirklichen kann
könntest du mal das Ganze etwas ausführlicher erläutern. Deine Infofetzchen reichen nicht!

Antwort 8 von son_quatsch vom 25.01.2022, 08:32 Options

Ich glaube es verstanden zu haben. Nun - in JavaScript ist das alles möglich, was du willst. Du musst nur umdenken.

Durch PHP lässt du einfach folgenden Code im JavaScript-Bereich ausgeben:
  $aBilder= array( 'bild1.jpg', 'bild2.gif', 'drei.png' );
  echo '
  var aBilder= new Array( \''. implode( '\', \'', $aBilder ). '\' );
  var iNow= 0;
  function SwapImage( bForward ) {
    if( bForward ) {
      iNow++;
      if( iNow== aBilder.length ) iNow= 0;
    } else {
      iNow--;
      if( iNow== -1 ) iNow= aBilder.length- 1;
    }
    document.getElementById( \'myImage\' ).style.backgroundImage= 
\'url( \'+ aBilder[iNow]+ \' )\';
  }'; 


Und später verwendest du deine JavaScript-Funktion entsprechend - mit true wird zum nächsten Bild gewechselt, mit false zum vorherigen:
  echo 'onClick=\'SwapImage( true );'; 


(ungetestet)

Antwort 9 von sYpro vom 25.01.2022, 15:38 Options

Hallo,

das war genau das wonach ich gesucht habe.
Vielen Dank euch beiden für die Anregungen und die Hilfe.
Klasse!!

Bis dann

Ähnliche Themen

[PHP] login Problem!
Sandra22345  03.08.2008 - 39 Hits - 5 Antworten

Problem mit Suggest
Uesch  17.09.2008 - 12 Hits - 2 Antworten

Problem mit Bluetooth und Windows SP2
Jouli  06.11.2008 - 2654 Hits -

Shop Problem
hasiii  04.02.2009 - 156 Hits - 1 Antwort

Problem mit mysql_result()
tomham  10.02.2009 - 129 Hits - 3 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026