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 16.05.2011, 23:42  
Erfahrener Benutzer
 
Registriert seit: 07.07.2010
Beiträge: 231
PHP-Kenntnisse:
Anfänger
mentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Mensch
Standard Bild in Bild überblenden

Hallo,

ich lasse mit PHP je nach aufgerufener Seite ein anderes Bild anzeigen, und zwar so:

Code:
switch ($_GET['p']) {
   case 1:
   echo "<img id=\"bgimg\" src=\"img/bg_1.jpg\" name=\"bg\">";
   break;
   case 2:
   echo "<img id=\"bgimg\" src=\"img/bg_2.jpg\" name=\"bg\">";
   break;
   default:
   echo "<img id=\"bgimg\" src=\"img/bg_1.jpg\" name=\"bg\">";
   break;
}
Diese Bilder haben jeweils per CSS eine Opacity von 0 und werden nicht einfach angezeigt, sondern per JS langsam eingeblendet.

Mein Problem ist nun, dass, jedesmal wenn man auf eine der verfügbaren Seiten kommt, das Bild zwar eingeblendet wird, aber natürlich vor schwarz, und nicht vor dem vorherigen Hintergrundbild. Ist ja auch klar, denn das vorherige Hintergrundbild gibt es ja nicht mehr. Jedenfalls hat das einen unschönen "Sprung" zur Folge.
Ich hätte es aber gerne so, dass das neue Bild über dem bestehenden Bild eingeblendet wird.

Wer den bestehenden JS Code sehen möchte, ich kann ihn dann hier noch posten.
Ich weiss, dass es wahrscheinlich tausend Möglichkeiten gibt, Bilder per JS ineinander zu überblenden. Aber den, den ich hier benutze, ist tatsächlich recht simpel und hat auch direkt funktioniert, vor allem auch ohne zu ruckeln!

Ich denke, ich brauche eine Art Puffer, in den der Dateiname des vorherigen Bildes geschrieben wird, damit es auf der neuen Seite "hinter" dem neuen Bild angezeigt werden kann, bevor das neue Bild dann eingeblendet wird.

Hoffe, ihr habt verstanden, was ich meine!?
Danke schonmal!
mentalman ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.05.2011, 23:44  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ja und nun?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 16.05.2011, 23:47  
Erfahrener Benutzer
 
Registriert seit: 07.07.2010
Beiträge: 231
PHP-Kenntnisse:
Anfänger
mentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Ja und nun?
Ein Lösungsansatz wäre nett.
Wäre es beispielsweise sehr unelegant, per HTTP_REFERER auf die aufrufende Seite und damit auf das dort eingesetzte Hintergrundbild zu schließen?
mentalman ist offline   Mit Zitat antworten
Alt 17.05.2011, 01:32  
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

Das hier könnte dir weiterhelfen:
http://stackoverflow.com/questions/9...-images-loaded

Um die Seiten per Ajax/Hashtag (mit vor-/zurück-Funktionalität) zu laden, kannst du dir das BBQ-Plugin ansehen.

Grüße Basti


edit: keine halbe Stunde alt, grade im IRC mitgelauscht: jquery ajax hooks (vom autor des jquery ajax moduls)
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog

Geändert von rudygotya (17.05.2011 um 01:40 Uhr).
rudygotya ist offline   Mit Zitat antworten
Alt 17.05.2011, 11:20  
Erfahrener Benutzer
 
Registriert seit: 07.07.2010
Beiträge: 231
PHP-Kenntnisse:
Anfänger
mentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
Um die Seiten per Ajax/Hashtag (mit vor-/zurück-Funktionalität) zu laden, kannst du dir das BBQ-Plugin ansehen.

Grüße Basti
Hi Basti,

danke für die Antwort!
Habs jetzt erstmal per HTTP_REFERER gelöst, das klappt auch sehr gut! Ist zwar vielleicht etwas unkonventionell, aber es geht.
Eine "echte" vor-/zurück Geschichte ist das bei mir ja nicht, die Seiten können aus dem Menü wahllos aufgerufen werden.
Wenn kein Referer übertragen wird, überblenden die Bilder auch nicht, sondern werden einfach direkt angezeigt.
Ist zwar nicht ganz so schön, aber für diesen Notfall reichts!
mentalman ist offline   Mit Zitat antworten
Alt 22.05.2011, 00:35  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Du könntest z.B. in der Session die letzte aktive Seite speichern.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.05.2011, 13:48  
Erfahrener Benutzer
 
Registriert seit: 07.07.2010
Beiträge: 231
PHP-Kenntnisse:
Anfänger
mentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Menschmentalman ist ein sehr geschätzer Mensch
Standard

Zitat:
Zitat von nikosch Beitrag anzeigen
Du könntest z.B. in der Session die letzte aktive Seite speichern.
Ja, hatte ich auch überlegt!
Werde ich wohl auch noch umbauen.
Wie schwierig ist es denn für den Durchschnittsuser, den Referrer zu unterdrücken?
Können das auch Antivieren- und Sicherheitsprogramme?
mentalman ist offline   Mit Zitat antworten
Alt 23.05.2011, 01:24  
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

https://addons.mozilla.org/en-US/fir...on/no-referer/
=> nicht schwer, wird aber der Durchschnittsuser nicht installiert haben.

Hier noch paar Anregungen:
Zitat:
Diese Bilder haben jeweils per CSS eine Opacity von 0 und werden nicht einfach angezeigt, sondern per JS langsam eingeblendet.
Modernizr integrieren, javascript nur als Fallback, wenn keine css transitions möglich sind.

Zitat:
Eine "echte" vor-/zurück Geschichte ist das bei mir ja nicht, die Seiten können aus dem Menü wahllos aufgerufen werden.
Sofern das alles auf der gleichen Domain ist, kannst du BBQ (sprich ajax + hashtags + ecma5 history api) verwenden. Alles andere lässt du unangetastet.

Wenn du die ajaxHooks integrierst, kannst du z.B. alle Bilder prefetchen und erst dann das Cyclen anfangen, a la:

PHP-Code:
$.extend( $, {
    
getImage : function ( urlcallback ) {
        return 
jQuery.get(urlnullcallback"img");
    }
);

$.
when.apply
    $, [ $.
getImage("image1.jpg" ), $.getImage("image2.jpg"),$.getImage("image3.jpg") ]
)
.
then(
    
// alle Bilder fertig geladen - synchronisierte ajax calls
    // [ array an callbacks ] oder eine anonyme function oder ein Funktionsname
)
.
fail(
    
// on Error
); 
Eventuell hab ich dich ja jetzt dein Interesse geweckt

Grüße Basti
__________________
++++ Wieder einer ins Netz gegangen: Phishers Fritz zufrieden ++++
Blog
rudygotya ist offline   Mit Zitat antworten
Alt 23.05.2011, 01:31  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von rudygotya Beitrag anzeigen
https://addons.mozilla.org/en-US/fir...on/no-referer/
=> nicht schwer, wird aber der Durchschnittsuser nicht installiert haben.
about:config braucht er nicht mal „installieren“.

http://kb.mozillazine.org/Network.ht...dRefererHeader
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 23.05.2011, 14:18  
Erfahrener Benutzer
 
Registriert seit: 02.09.2009
Beiträge: 1.019
PHP-Kenntnisse:
Fortgeschritten
mquadrat befindet sich auf einem aufstrebenden Ast
Standard

Das in der Session ablegen würde ich mir nochmal überlegen. Ich persönlich habe meist mehrere Tabs mit der gleichen Webseite offen. Das gibt dann immer sehr seltsame Effekte, wenn sich der Entwickler drauf verlässt, dass nur ein Tab/Fenster angezeigt wird.
__________________
Wir suchen PHP Entwickler (Vollzeit) im Raum Darmstadt / Rhein-Main. Infos via E-Mail mueller@new-frontiers.de
mquadrat 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
imagecreatefromjpeg() "Allowed memory size exhausted" peter silie PHP Tipps 2010 17 04.05.2011 14:25
[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] bild als link mit mouseover ohne zeilenumbruch SteiniKeule HTML, Usability und Barrierefreiheit 12 30.10.2008 21:12
Bild onMouseOver einblenden rocco HTML, Usability und Barrierefreiheit 8 22.02.2008 12:52
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
[PHP«Image] Bild in ein anderes Bild einsetzen PHP Tipps 2005-2 4 07.08.2005 19:39
Bild größe hat prob mit umbenennung. JEGO PHP Tipps 2004 1 08.07.2004 16:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
html5 bilder überblenden, jquery bilder überblenden, html5 bildwechsel, php bilder überblenden, jquery bild überblenden, bilder überblenden php, bilder überblenden jquery, ajax überblenden, bild überblenden, jquery bilder schwarz überblenden, bilder überblenden, jquery img überblenden, bild überblenden html, java script maske überlegen wenn bild offen, css bilder überblenden ohne java, css bild überblenden, jpg überblenden, jquery überblenden, bild mit bild überblenden, php bild überblenden

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:04 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