2014-02-22, 14:15
  #1
Medlem
Om ni har sett mina andra trdar i mnet s vet ni att jag r en noob nr det kommer till js/jQuery, jag gr dock framsteg, men nu har jag sttt p ett problem i mitt lekande.

Har en sticky-div som fastnar efter scroll, och gjort s den animeras in d ocks, men animationen fungerar bara frsta gngen man scrollar ner, inte om man scrollar upp och sedan ner igen.

Ta en titt p denna fiddle eller p koden hr nedan:

HTML-kod:
<div class="top"></div>
<div id="sticky"></div>

Kod:
body{
    margin: 0;
    height: 1000px;
}

.top{
    height: 100px;
    background: #ccc;
    width: 100%;
}

#sticky{
    width: 100%;
    height: 40px;
    background: #eee;
}

.stick-to-top{
    position: fixed;
    top: -40px;
    left: 0;
    opacity: 0;
}

Kod:
var sticky = $('#sticky');
var pos = sticky.position();
$(window).scroll(function() {
    var windowpos = $(window).scrollTop();
    if(windowpos >= pos.top) {
        sticky.addClass("stick-to-top").delay(300).animate({
            top: 0,
            opacity: 1
        }, 250);
    } else {
        sticky.removeClass("stick-to-top");
    }
});
Citera
2014-02-23, 08:45
  #2
Medlem
shallowpedantics avatar
Du behver ta bort de inline styles som jQuery lgger till:

Kod:
var sticky = $('#sticky');
var pos = sticky.position();
$(window).scroll(function() {
    var windowpos = $(window).scrollTop();
    if(windowpos >= pos.top) {
        sticky.addClass("stick-to-top").delay(300).animate({
            top: 0,
            opacity: 1
        }, 250);
    } else {
        sticky.removeClass("stick-to-top");
        sticky.removeAttr('style');
    }
});
Citera
2014-02-23, 08:54
  #3
Medlem
Citat:
Ursprungligen postat av shallowpedantic
Du behver ta bort de inline styles som jQuery lgger till:

Kod:
var sticky = $('#sticky');
var pos = sticky.position();
$(window).scroll(function() {
    var windowpos = $(window).scrollTop();
    if(windowpos >= pos.top) {
        sticky.addClass("stick-to-top").delay(300).animate({
            top: 0,
            opacity: 1
        }, 250);
    } else {
        sticky.removeClass("stick-to-top");
        sticky.removeAttr('style');
    }
});

Tack, dock s verkar det inte fungerar varje gng, bara lite random, vad beror det p?
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in