• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

[FRAGE] Div an relativer höhe einblenden mit jquery

SmokeTM

New member
Hallo Leute,

Ich weiß ich hab vor ein paar Tagen schon mal ein Thema eröffnet und mir wurde auch erfolgreich geholfen dafür bin ich sehr dankebar ;) Aber ich hätte da nochmal was für euch hehe Also momentan verwende ich ein script das einen div bei einer bestimmten scrollposition ausblendet bzw einblendet.

Dieses Script
Code:
$(document).scroll(function () {
    var y = $(this).scrollTop();        
    if (y > 570) {
        $('.sHow').css('opacity' , '1');
    } else {
        $('.sHow').css('opacity' , '0'); 
    }
});

jetzt versuche ich gerade nicht mit einer fixen position zu arbeiten sondern mit einer relativen das heißt über jquery wird ermittelt welche höhe der div hat (nicht die höhe des div selber sondern der abstand von top zu dem div).
Und eben immer wenn über diese position gescrollt wird dann wird das div eingeblendet. Da es ja sein kann das der content weiter nachunten rutscht bei kleinerem viewport und mir dann die fixe position nichts mehr helfen wird.

Code:
$(document).ready(function() {
    var p = '.sHow';
    var offset = p.offset();

$(document).scroll(function() {
    var y = $(this).scrollTop();

        if (y >= offset.top) {
            $('.sHow').css('opacity' , '1');
        } else {
            $('.sHow').css('opacity' , '0'); 
        }
});
});


Ich hoffe man kann das verstehen ?

lg smoke
 
Zuletzt bearbeitet von einem Moderator:
Muss zugeben bin in jquery bzw javascript noch nicht der beste. Die Fehlermeldung: Uncaught TypeError: undefined is not a function. Aber ich google jetzt nochmal danach vielleicht kann ich etwas finden :)
 
Die Suche wird dir da nichts bringen, da dieser Fehler in extrem vielen verschiedenen Situationen auftreten kann. Hier sagt sie einfach, dass ein String kein Eigenschaft mit Namen "offset" hat - deswegen mein Hinweis. Du hast p falsch initialisiert:
Code:
var p = $(".sHow");
 
Super das funktioniert einwandfrei :) Danke! Da war ich doch gar nicht so weit entfernt vom richtigen ergebnis jetzt frag ich mich nur ist das auch Professionell sozusagen wie ich das umsetzten will. Ich hab einen Div weiter oben platziert wird über diesen bzw bis zu diesem gescrollt wird eben ein bestimmter div mit diesem script eingeblendet ist das die Regel also wird das so normal gemacht oder gibts da bessere Lösungen ?

Noch eine Frage bezüglich Buchtipp kann man http://www.amazon.de/JavaScript-für-Dummies-Andy-Harris/dp/3527708596 empfehlen? Um javascript zu erlernen das hab ich mir nämlich vor einiger Zeit gekauft..

lg
 
Sieht nicht so verkehrt aus. Ich würde nur das .offset() direkt im scroll-Event ausrechnen, da sich ein Element ja auch mal verschieben kann (Fenstergröße geändert, irgendetwas davor wurde aus-/eingeblendet, etc.).

Zu dem Buch kann ich nichts sagen, da ich es nicht kenne.
 
Zurück
Oben