php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 31.12.2011, 13:23  
Benutzer
 
Registriert seit: 06.12.2011
Beiträge: 34
PHP-Kenntnisse:
Anfänger
StefanM_ befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Bild tauschen mit if Abfrage

Hallo,

Ich habe gerade ein kleines Verständnisproblem beim Bildtausch mit if-Abfrage. Kann mir jemand auf die Sprünge helfen?

PHP-Code:
swap01b = new Image();
if (
swap01b.src == "images/rating0.gif")
swap01b.src "images/rating1.gif"; }
else { 
swap01b.src "images/rating0.gif"; }

function 
Wechseln(Bildname,swapname)
{
document.images[Bildname].src = eval(swapname ".src")
}

<
img name="foto1" src="images/rating0.gif" OnMouseover "Wechseln('foto1','swap01b')"
Leider wird das Bild nicht so getauscht wie ich mir das vorstelle. Sieht jemand den Fehler?
StefanM_ ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.01.2012, 08:40  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

"den Fehler" ? Ich sehe kaum etwas mit Sinn. Hast du über die Zeilen mal nachgedacht, bevor du sie hier reingestellt hast? (Oder war die Feier schon im Gange ?)
Beispiel: du erzeugst swap01b neu und fragst eine Zeile später eine Eigenschaft ab?
In deiner function Wechseln ist das eval ist völlig unsinnig.

Mein Tipp: Es gibt genug gute scripte als Vorlage, such dir was vernünftiges.
Wenn du nur üben möchtest, bau dir alerts ein oder benutze einen Debugger.
jspit ist offline   Mit Zitat antworten
Alt 02.01.2012, 16:30  
Benutzer
 
Registriert seit: 06.12.2011
Beiträge: 34
PHP-Kenntnisse:
Anfänger
StefanM_ befindet sich auf einem aufstrebenden Ast
Standard

Hallo!

Danke für deine Antwort.
Leider kann ich JavaScript nicht und versuch es auch soweit wie möglich zu vermeiden bzw. auf Vorlagen (wie auch hier) zurückzugreifen.
Alles bis auf das if/else stammt auch aus der Vorlage.

Ohne der if/else tut das Script auch genau was es soll, nämlich ein Foto durch das andere ersetzen. Alles was ich erreichen will ist, dass entweder rating0 oder rating1 eingesetzt wird, je nachdem was zum gegeben Zeitpunkt vorhanden ist.
StefanM_ ist offline   Mit Zitat antworten
Alt 02.01.2012, 17:18  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Zitat:
Zitat von StefanM_ Beitrag anzeigen
Hallo!
Ohne der if/else tut das Script auch genau was es soll, nämlich ein Foto durch das andere ersetzen.
Und genau das glaube ich nicht, jedenfalls nicht mit dem hier gezeigten Code.
Die if-Abfrage mußt du mit in deine function nehmen, in etwa so:
Code:
function wechseln(Bildname)
{
  var currPicture=document.images[Bildname].src;
  if(currPicture.indexOf("rating0") > 0) currPicture="images/rating1.gif";
  else currPicture="images/rating0.gif";
  document.images[Bildname].src = currPicture;
}
Im Aufruf werden die Bildnamen für dieses einfache Beispiel nicht benötigt:
Code:
<img name="foto1" src="images/rating0.gif" onmouseover = "wechseln('foto1')">
Das geht alles noch eleganter,ich wollte aber nahe an deinem Code bleiben.
Übernimm es nicht nur, versuche es zu verstehen.
jspit ist offline   Mit Zitat antworten
Alt 02.01.2012, 18:41  
Benutzer
 
Registriert seit: 06.12.2011
Beiträge: 34
PHP-Kenntnisse:
Anfänger
StefanM_ befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Vielen Dank für deine Hilfestellung.
So ist das ganze zur Zeit im Einsatz:

PHP-Code:
<script type="text/javascript" language="JavaScript">
swap01b = new Image();
swap01b.src "http://www.php.de/images/rating1.gif";


function 
Wechseln(Bildname,swapname)
{
document.images[Bildname].src = eval(swapname ".src")
}
</script>
</head>
<body>
<img name="foto1" src="http://www.php.de/images/rating0.gif" OnMouseover = "Wechseln('foto1','swap01b')">
</body>
</head> 
(gekürzt)

Das funktioniert. Ich werde mich an deine Variante herantasten.
StefanM_ ist offline   Mit Zitat antworten
Alt 03.01.2012, 08:15  
Erfahrener Benutzer
 
Registriert seit: 28.05.2008
Beiträge: 2.094
PHP-Kenntnisse:
Fortgeschritten
rudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nettrudygotya ist einfach richtig nett
Standard

Zitat:
In deiner function Wechseln ist das eval ist völlig unsinnig.
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 03.01.2012, 08:45  
Erfahrener Benutzer
 
Benutzerbild von tr0y
 
Registriert seit: 26.07.2010
Beiträge: 4.865
PHP-Kenntnisse:
Fortgeschritten
tr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblicktr0y ist ein wunderbarer Anblick
tr0y eine Nachricht über MSN schicken
Standard

Da offensichtlich eine Art Rating-Bar oder eine "Sternen"-Kette dort manipuliert werden soll, stellt sich für mich die Frage wozu überhaupt dort erst ein Bild erstellen ( methodisch ), also im nachhinein etwas laden, das du dann irgendwo "anpappst". Lad doch einfach den Ausgangzustand als Sprite auf ein Div ( oder anderes Blockobjekt das dir zusagt ) und wechsel bei Mouseover einfach die Sprite-Koordinaten oder gar die CSS-Klasse die den Background wechselt. Ein Vorteil wäre das du Bilddaten nicht erst erzeugend nachlädst sondern einfach nur geladenes darstellst.
__________________
Lasse mir ohne Anwendung von Gewalt Dinge schenken, Amazon weiß darüber bald mehr.
tr0y ist offline   Mit Zitat antworten
Alt 03.01.2012, 09:00  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

StefanM übergibt keinen Namen wie es der Parameter swapname vermuten lassen würde,
sondern ein object. Er könnte das auch ohne eval so notieren:
Code:
document.images[Bildname].src = swapname.src;
Hier wird die ganze Umständlichkeit der "Lösung" sichtbar.

Edit: Das Ziel von StefanM ist für mich nicht sichtbar.
@StefanM: wenn du Informationen über dein eigentliches Ziel lieferst, kann dir hier besser geholfen werden.
Ich fürchte, sonst kommt nur Murx raus.

Geändert von jspit (03.01.2012 um 09:10 Uhr).
jspit ist offline   Mit Zitat antworten
Alt 03.01.2012, 18:00  
Benutzer
 
Registriert seit: 06.12.2011
Beiträge: 34
PHP-Kenntnisse:
Anfänger
StefanM_ befindet sich auf einem aufstrebenden Ast
Standard

Hallo,

Also das Ziel ist wie vermutet eine Rating Bar - also 5 Sterne die bei Mouseover befüllt werden, bzw. wenn gefüllt wieder geleert werden.

Das füllen bzw. leeren habe ich derzeit auch noch recht umständlich über eine if anweisung gelöst. Also Wenn die Mouse über bild5 steht, dann wird Bild1,2,3,4,5 gefüllt - sind die Sterne gefüllt werden die Sterne hinter der Maus geleert.

Das ganze Versuche ich noch in einer Schleife zu lösen - wenn ich dabei Probleme habe melde ich mich wieder.

Ja ich weiß - es gibt eine Menge fertiger Ratingscripts. Aber ich möchte ja auch ein bisschen was lernen dabei.
StefanM_ ist offline   Mit Zitat antworten
Alt 03.01.2012, 19:00  
Benutzer
 
Registriert seit: 06.12.2011
Beiträge: 34
PHP-Kenntnisse:
Anfänger
StefanM_ befindet sich auf einem aufstrebenden Ast
Standard

Anbei meine ganze Funktion die zum Glück genau das macht was sie soll:

PHP-Code:
function wechseln(Bildname)
{
  var 
bildid document.images[Bildname].name;
  var 
id bildid[4];
  var 
currPicture=document.images[Bildname].src;
  if(
currPicture.indexOf("rating0") > 0)
  {
         
currPicture="images/rating1.gif";
         for (
1<= idi++)
         {
           var 
bild "foto"+i;
           
document.images[bild].src currPicture;
         }
  }
  else
  {
         
currPicture="images/rating0.gif";
         for (
5idi--)
         {
           var 
bild "foto"+i;
           
document.images[bild].src currPicture;
         }
  }


StefanM_ ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Abfrage für durchschnittliche Bewertung und Anzahl der Kommentare Karottenkopf51 Datenbanken 14 26.07.2011 10:58
[Erledigt] Bild macht Tabellenzeile höher als das Bild hoch ist I-Spy HTML, Usability und Barrierefreiheit 2 24.03.2011 10:59
Problem mit Abfrage - join, inner join, distinct? Gachet01 Datenbanken 2 27.01.2011 06:49
Im Imagemap Bild tauschen UND Text in sep. div zeigen needful HTML, Usability und Barrierefreiheit 6 22.11.2010 08:36
[Erledigt] Bild ausgeben solange das Script läuft favo PHP-Fortgeschrittene 6 17.09.2010 13:34
[Erledigt] Bild erstellen, speichern und gespeichertes Bild anzeigen Garog PHP Tipps 2009 26 11.07.2010 18:01
daten und bild in die DB und ausgeben Crimson007 PHP Tipps 2010 16 14.04.2010 00:00
[GELÖST] Bild in die Datenbank einspielen Timmbow Datenbanken 15 16.01.2010 19:45
[Erledigt] bild wird nicht gespeichert, finde fehler nicht Kay654 PHP Tipps 2009 4 24.12.2009 07:52
Bildeffekte berechnen (Bild in den Hintergrund anschregen) Frank PHP-Fortgeschrittene 2 28.11.2009 02:20
Bild in enuem Fenster öffnen? K3HLIM JavaScript, Ajax und mehr 6 10.04.2009 20:43
[Erledigt] Datenbank abfrage geordnet anzeigen Octavian PHP Tipps 2009 10 22.03.2009 15:39
SQL Abfrage "beliebteste User" freakymiky Datenbanken 10 12.02.2009 15:56
[Erledigt] Bild auf Bild anzeigen bei x/y Screeze JavaScript, Ajax und mehr 2 19.01.2009 19:40
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
javascript mit if anweisung bilder einblenden, if else bild anzeigen php javascript, php if bild, if abfrage javascript bildaustausch, javascript bild in if, php bilder if abfrage, html bild aufrufen durch if abfrage, html if mit bildern, bilder wechseln mit if, javascript if anweisung bild, function if abfrage javascript, html if bilddatei, document.images[bildname].src = eval, onmouseover bild einspielen, bild in if schleife php, php if schleife bild laden, php bild abfragen, php if bild austauschen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:58 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum