Kopfzeile: Bannerwechsel per Login des Mitglieds

  • Seite 1 von 2
26.10.2012 21:29
avatar  Bommel
#1 Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Hallo allerseits,

mir ist bei meiner Suche im Internet nach einer Lösung gerade eben eingefallen, dass eine möglicherweise schon hier im Forum vorliegen könnte. Nur eben zu einem anderen Sachverhalt.

Ich möchte gern erreichen, dass das Banner in der Kopzeile nach dem Login eines Mitglieds automatisch gegen ein anderes gewechselt wird. Als mögliche Lösung dafür könnte das Script hier aus diesem Thread herhalten. Kann dieses Script so abgeändert werden, dass es diesen Wechsel zwischen zwei verschiedenen Bannern nach dem Login ausführt? Über Antworten und Unterstützung bei der Lösung dieses Problems wäre ich sehr dankbar.

1
2
3
 
<script type="text/javascript">
$(document).ready(function(){if($('#link_login').length){$(".page_forum .stats").hide()}});
</script>
 



LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
27.10.2012 11:58 (zuletzt bearbeitet: 27.10.2012 11:58)
avatar  Ingmar
#2 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Technik

Der Ansatz ist völlig richtig.

Momentant hast du folgendes in der Kopfzeile:

1
 
<img width="100%" title="Die offizielle Seite von StreetPass Krefeld" alt="Die offizielle Seite von StreetPass Krefeld" src="https://files.homepagemodules.de/b585867/a_136_6a22e562.png">
 



Diesem BIld musst du zunächst eine Id geben:

1
2
 
<img id="spbanner" width="100%" title="Die offizielle Seite von StreetPass Krefeld" alt="Die offizielle Seite von StreetPass Krefeld" src="https://files.homepagemodules.de/b585867/a_136_6a22e562.png"> 
 
 



Dann das Script:

1
2
3
4
5
 
<script type="text/javascript">
//hier richtige Adresse für den gästebanner eintragen...
var guestbanner = "https://files.homepagemodules.de/b585867/a_136_6a22e562.png"
$(document).ready(function(){if($('#link_login').length){$("#spbanner").attr('src',guestbanner)}});
</script>
 



Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
27.10.2012 19:51
avatar  Bommel
#3 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Dachte ichs mir doch... leider bin ich in Javascript nicht fit. Ich danke dir Ingmar! Damit kann ich mein "Sensibelchen" doch noch ohne mögliche Folgen aufwerten.

Ich werde das morgen direkt durchgehen, denn für heute habe ich erst einmal viele postive und glückliche Momente aufzuarbeiten, die mir leider nicht jeden Tag gegönnt werden. Ich wünsche dir noch einen schönen Sonntag.

LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
28.10.2012 12:14
avatar  Bommel
#4 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Hallo Ingmar,

ich habe heute dein Script getestet. Zuerst einmal - es funktioniert im Grundgedanken. Leider treten ein paar Unregelmäßigkeiten dabei auf.

1. Das "spbanner" überlagert lediglich nur das "guestbanner". Ist das "spbanner" in der Höhe kleiner als das "guestbanner", wird ein Teil des "guestbanner" weiterhin nach dem Login angezeigt.
2. Durch den Einsatz des Scripts wird das "guestbanner" vor dem Login in der Höhe in voller Größe angezeigt und in der Breite gekachelt. Loggt sich das Mitglied ein, tritt Punkt 1 ein und das "guestbanner" wird aber in der Höhe wie gewohnt angezeigt, in der Breite auch auf 100% angepasst und nicht gekachelt.
3. Dem Gast/ Besucher wird beim Laden der Seite für einige Augenblicke lang das "spbanner" angezeigt. Genau das darf aber in diesem Fall nicht passieren.

Wo liegt das Problem bei den einzelnen Punkten? Nachfolgend das Script, wie es zum Einsatz kommt und zwei Screenshots:

1
2
3
4
5
 
<center><a href="http://meine-seite.xobor.de"><img id="spbanner" src="https://files.homepagemodules.de/b2001010/a_1178_32da66b2.png" width="100%" alt="Titel der Seite" title="Titel der Seite"></a></center>
<script type="text/javascript">
var guestbanner = "https://files.homepagemodules.de/b214495/bhnetfiles_big-e7ct-c.png"
$(document).ready(function(){if($('#link_login').length){$("#spbanner").attr('src',guestbanner)}});
</script>
 



Ansicht vor dem Login:


Ansicht nach dem Login:


LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
29.10.2012 09:59
#5 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Techniker

Mit was für einem Browser hast du es getestet?

Ich habe das gerade hier auf meiner kleinen Spielwiese getestet und es funktioniert so wie es soll.
Laufen bei dir eventuell andere JavaScripts nicht korrekt bzw. kommen diese sich in die quere?


ps. getestet im Chrome, FireFox, IE9


 Antworten

 Beitrag melden
29.10.2012 11:08
avatar  Bommel
#6 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Zitat von Christian im Beitrag #5
Mit was für einem Browser hast du es getestet?

FF, Chrome und Opera. Das Ergebnis ist überall so wie im Screenshot zu sehen.
Zitat von Christian im Beitrag #5
Laufen bei dir eventuell andere JavaScripts nicht korrekt bzw. kommen diese sich in die quere?

Nein, denn dort wo dieses Script zum Einsatz kommt soll es keine weiteren Veränderungen geben. Nur das, was aus gegebenen Umständen notwendig ist. Also derzeit keine weiteren Javascripts und ein unverändertes Template.

LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
30.10.2012 08:42
#7 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Techniker

Wie gesagt. Ich kann das in meinem Testforum (unverändert) nicht reproduzieren.

Hierein angehängtes Screenshot


Das ist ein Beispiel aus chrome und in den restlichen Browsern schaut es bei mir selber genauso aus


 Antworten

 Beitrag melden
30.10.2012 10:34
avatar  Bommel
#8 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Christian, in meinem Forum wird es auf meinem Bildschirm so angezeigt. Wie ich gerade sehe, gibt dein rechtes Bild aber genau ein Problem wieder, was ich anschrieb. Das Banner wird in voller Höhe angezeigt. Bisher wurde das Bild aber ohne Script nicht in dieser Größe angezeigt. Soweit ich mich entsinne ist dies nicht die Standardansicht des Banners.

LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
30.10.2012 11:12
avatar  Bommel
#9 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Deaktiviere ich das Script, wird das Banner wieder wie gewohnt angezeigt. Ich habe aber im ersten Teil keine Höhe-Angabe gemacht. Für mich muss das Problem im zweiten Teil des Scripts liegen, welches im Zusammenspiel mit der Forensoftware auftritt.

LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
30.10.2012 11:19
#10 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Techniker

So ich hoffe das führt jetzt zu deinem gewünschten Ergebnis

1
2
3
4
5
6
7
8
 

<div id="cBanner" style="display: block; width: 100%; height: 80px; background-image: url(https://files.homepagemodules.de/b2001010/a_1178_32da66b2.png); background-position: center;"></div>
<script type="text/javascript">
var guestbanner = "url(https://files.homepagemodules.de/b214495/bhnetfiles_big-e7ct-c.png)"
$(document).ready(function(){if($('#link_login').length){$("#cBanner").css('background-image',guestbanner)}});
</script>

 
 




Es hat jetzt eine feste Höhe. Zurzeit wiederholt sich das Bild in der Breite. Das kann man aber deaktivieren falls gewünscht


 Antworten

 Beitrag melden
30.10.2012 11:53
avatar  Bommel
#11 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Zitat von Christian im Beitrag #10
So ich hoffe das führt jetzt zu deinem gewünschten Ergebnis

Danke! Auch wenn es nicht das von mir gewünschte Ergebnis war. Mir ging es darum, zu wissen, warum ein und dasselbe HTML-Script im Zusammenspiel mit einem Javascript so unterschiedliche Ergebnisse in der Anzeige bringt. Wüsste ich die Ursache, bräuchte ich eventuell in Zukunft nicht mehr Fragen zu stellen.
Zitat von Christian im Beitrag #10
Zurzeit wiederholt sich das Bild in der Breite. Das kann man aber deaktivieren falls gewünscht

Wenn ich mich recht entsinne...

1
 
background: ... no-repeat;
 



Bliebe jetzt nur noch dieses Problem zu klären, denn das ist in diesem Forum immens wichtig!

Zitat von Bommel im Beitrag #4
3. Dem Gast/ Besucher wird beim Laden der Seite für einige Augenblicke lang das "spbanner" angezeigt. Genau das darf aber in diesem Fall nicht passieren.

LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
30.10.2012 12:15
#12 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Techniker

Im Script davor wurde in einem IMG-Tag ein Bild geladen ohne einer festen Höhe.
Das Bild Skalierte also automatisch und wurde dann durch das Script durch ein anderes ersetzt mit anderen Größen.. Je nach Seitenaufruf und der entsprechenden Größe, kann es da zu unerwünschten Nebeneffekten kommen.

In meinem habe ich das so gelöst, dass das Bild als Hintergrund in einem div geladen wird. Somit umgehen wir den Effekt von oben und das Bild wird auch nicht skaliert.
Das Script tauscht allerdings im nachhinein dann nur die Grafik aus.

das mit dem no-repeat ist richtig!

Zu deinem anderen Problem:
Das wirst du in diesem Fall aber nicht verhindern können.

Mal kurz zu der Funktionsweise.
Das Script schaut lediglich nach, ob ein bestimmter Teil für den User sichtbar ist .. .dies wär in unserem Beispiel "#link_login", was den Loginlink beschreibt. Diesen können nur Gäste sehen. Wenn diese Bedingung nun erfüllt ist, geht das Script in unser neues DIV und tauscht die Hintergrundgrafik durch die von uns gewünschte aus.

Dies kann natürlich erst erfolgen, wenn die Seite komplett geladen ist. Je nach Geschwindigkeit des Rechners bzw. der Internetleitung des jeweiligen Nutzers, sieht man den Banner für die user ein paar Millisekunden länger oder kürzer.

Weiterhin funktioniert das ganze natürlich auch nur so lange, wie der Nutzer JavaScript in seinem Browser aktiviert hat.

Eine andere Möglichkeit gibt es leider nicht.


 Antworten

 Beitrag melden
30.10.2012 14:57
avatar  Damian
#13 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Spacebot-Rekordhalter

Ich habe in jQuery folgende Eigenschaften anders gelernt: Ist/Sind die Elemente die das Script braucht weiter oben in der Seite und das Script Beispielsweise im Fuß, so kann man das document.ready auch weglassen, nur wenn die Elemente unter dem Script sind, müss drauf gewartet werden, bis diese geladen sind, weil sonst das Script diese nicht findet.

Beispiel:
Baue ich mein Banner in die Kopfzeile ein:

1
 
<div id="cBanner" style="display: block; width: 100%; height: 80px; background-image: url(https://files.homepagemodules.de/b2001010/a_1178_32da66b2.png); background-position: center;"></div>
 


das Script aber dann unten:

1
2
3
4
 
<script type="text/javascript">
var guestbanner = "url(https://files.homepagemodules.de/b214495/bhnetfiles_big-e7ct-c.png)"
if($('#link_login').length){$("#cBanner").css('background-image',guestbanner)};
</script>
 


habe ich das Resultat das nichtmehr gewartet wird, bis das Document fertig geladen ist, sondern sobald der Scriptteil geladen ist, schon ausgeführt wird. Dadurch das die Elemente die benötigtwerden (Oben der Login-Link und der Banner) geladen sind, kann auch gleich das Script danach ausgeführt werden. Jedoch denke ich, hat die Technik das hier besser überdacht und die wissen schon wieso die das schreiben, wollte aber nur wissen, ob dadurch meine Schreibweise nicht korrekt ist?

Viele Grüße,
Damian


Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum


 Antworten

 Beitrag melden
30.10.2012 15:09
avatar  Bommel
#14 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Mitglied

Danke Damian. Der Gedanke kam mir im Hinblick darauf auch.

Zitat von Christian im Beitrag #12
Dies kann natürlich erst erfolgen, wenn die Seite komplett geladen ist. Je nach Geschwindigkeit des Rechners bzw. der Internetleitung des jeweiligen Nutzers, sieht man den Banner für die user ein paar Millisekunden länger oder kürzer.

Mit dem aufteilen des Scripts in Kopf- und Fusszeile sollte doch eigentlich diese Zeit nochmal minimiert werden?

LG Bommel

Ich und XOBOR... wir sind nicht einfach nur Vertragspartner - wir sind ein Team!
(Der wohl wichtigste Grund meiner Beiträge hier.)


Boardnummer: 585867 | Template: Business (unverändert) | Tarif: Basis
Betriebssystem: Windows 7 | Auflösung: 1440x900, 1024x600 (Netbook)
Browser: Mozilla FireFox (17.0.1), Internet Explorer (9.0.11), Google Chrome (23.0.1271.95 m), Safari (5.1.7), Opera (12.10.1652)

 Antworten

 Beitrag melden
30.10.2012 15:15
avatar  Damian
#15 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
avatar
Spacebot-Rekordhalter

Zitat von Bommel im Beitrag #14
Danke Damian. Der Gedanke kam mir im Hinblick darauf auch.
Zitat von Christian im Beitrag #12
Dies kann natürlich erst erfolgen, wenn die Seite komplett geladen ist. Je nach Geschwindigkeit des Rechners bzw. der Internetleitung des jeweiligen Nutzers, sieht man den Banner für die user ein paar Millisekunden länger oder kürzer.

Mit dem aufteilen des Scripts in Kopf- und Fusszeile sollte doch eigentlich diese Zeit nochmal minimiert werden?

LG Bommel


Mein Grund das so zu machen, war einfach nur deswegen, weil wenn Externe Links weiter unten unter dem Script noch laden müssen, ist das schon ausgeführt, mit der document.ready funktion meine ich, wird das Script erst dann aufgerufen, nachdem auch einfach alles im Forum geladen wurde, und kein Ladebalken mehr da ist, wobei, das ist nur so mein gedanke, wie es in wirklichkeit ist, kann ich jetzt nicht sagen. Aber wäre das Script noch näher an dem letzten Element das es dafür braucht, (Also am Login-Link) der unter das Banner liegt, wäre es auch gleich nach der Navigation angefangen, sich auszuführen, die Fußzeile liegt da meilenweit entfernt, vorallem wenn die Übersicht richtig groß ist.

Viele Grüße,
Damian


Kein Support per PN (Private Nachrichten) - Tagger mich lieber (@Damian)
Damians Testforum


 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!