Bitte geben Sie einen Grund für die Verwarnung an
Der Grund erscheint unter dem Beitrag.Bei einer weiteren Verwarnung wird das Mitglied automatisch gesperrt.
Kopfzeile: Bannerwechsel per Login des Mitglieds
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.
2
3
<script type="text/javascript">
$(document).ready(function(){if($('#link_login').length){$(".page_forum .stats").hide()}});
</script>
LG Bommel
(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)
#2 RE: Kopfzeile: Bannerwechsel per Login des Mitglieds
Der Ansatz ist völlig richtig.
Momentant hast du folgendes in der Kopfzeile:
<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:
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:
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>
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
(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)
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:
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>
(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)
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
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
(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)
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
(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)
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
(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)
So ich hoffe das führt jetzt zu deinem gewünschten Ergebnis
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
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...
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
(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)
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.
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:
<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:
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
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
(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)
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
- Informationen
- Aktuelle News
- Forum Tutorials - Tipps und Anleitungen
- SEO / Werbung fürs Forum
- Verwaltung
- Extras
- Design
- Plugin(system)
- Eure Fragen zu Tutorials
- Forum Support
- Fragen und Antworten
- Pluginsystem
- Plugins
- Templates & Sprachen
- Bugreport
- Verbesserungsvorschläge
- Sponsoren gesucht
- Das neue Xobor Business-Template
- News und Updates
- Bugreport
- Allgemeines Feedback
- Verbesserungsvorschläge
- Sonstiges
- Kaffeeklatsch
- Lob & Kritik
- Verbesserungsvorschläge
- Allgemeine Fragen
- Fehlermeldungen
- Verbesserungsvorschläge Responsive Design
- Bugreport Responsive Design
- Archiv - Alter Betatest
- Responsive Design - Verbesserungsvorschläge
- Responsive Design - Bugreport
- Fragen zum neuen Template
- Neue Administration Beta Test
- Bugreport Neue Administration
- Allgemeines Fragen & Feedback
- Verbesserungsvorschläge zur neuen Administration
- Shoutbox
Ähnliche Themen
Jetzt anmelden!
Jetzt registrieren!
© 2017 Xobor | Forum-Software