Floating sidemeny

adeneo

Medlem
Du må begynne med å plassere den riktig til å begynne med, da den havner litt midt på skjermen her. Javascript'et kan fikses slik:

PHP:
$(function() {
    var fixed = false;

    $(document).scroll(function() {
        if ($(this).scrollTop() >= 210) {
            if (!fixed) {
                fixed = true;
                var pos = $('#sidebar').offset();
                $('#sidebar').css({
                    position: 'fixed',
                    left: pos.left,
                    top: 20
                });
            }
        } else {
            if (fixed) {
                fixed = false;
                $('#sidebar').css({
                    position: 'static'
                });
            }
        }
    });
});
 

Tony J

Alle skal få
Går dette også an med adsense annonsering også, eller er det fy fy og bruke javascript da?
 

adeneo

Medlem
Ikke noe problem å plassere adSense annonser på den måten, så fremt selve annonsekoden ikke endres og man ikke gjemmer annonsen

For eksempel hvis skjermstørrelsen er for liten eller noe slikt, så bør annonsen fortsatt være "synlig", selv om den teknisk sett havner utenfor skjermen, ettersom Google fortsatt teller selv om annonsen er "display:none", og det er derfor ikke tillatt å sette dette, men å flytte på annonsen med javascript er OK så vidt jeg har forstått.
 

Tonny Kluften

Administrator
Takk for det.
Fungerer det javascriptet noe anderledes enn det jeg brukte, jquery? Herfra kom det, Edit this Fiddle - jsFiddle

PHP:
var fixed = false;

$(document).scroll(function() {
    if ($(this).scrollTop() >= 210) {
        if (!fixed) {
            fixed = true;
            $('#sidebar').css({
                position: 'fixed',
                top: 20
            });
        }
    } else {
        if (fixed) {
            fixed = false;
            $('#sidebar').css({
                position: 'static'
            });
        }
    }
});
 
Sist redigert:

adeneo

Medlem
Nei, sidebar står som position fixed og 800px fra venstre, som betyr at sidebar'en kommer akkurat 800 piksler fra venstre, uavhengig av hvor bred skjermen er, slik at den havner midt på dersom skjermen er bredere enn de 960 pikslene som er angitt.

i style.css, endre:

#sidebar { width: 160px; float:right; position:fixed; left:800px; }

til

#sidebar { width: 160px; float:right; }
 
Topp