Archief - Verander div height bij scrollen dmv JQuery

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

meuh

Legacy Member
Ik heb momenteel 2 divs, met in de 1ste div de navigatie:

HTML:
<div id="header">
  <div id="navigation">
   Hier zit een horizontaal menu in
  </div>
</div>

<div id="content">
 content
</div>

In de header div zit een background-image van 500px hoog. Met bovenaan de navigatie. Wanneer je scrollt, wil ik dat de hoogte van de header div verkleind tot ongeveer 150px, maar de navigatie moet nog steeds zichtbaar ,vanonder, in die div staan.
Wanneer je dan terug naar boven scrollt, wordt de header div weer groter.

Heeft iemand enig idee welke jquery functies ik hier het beste voor kan gebruiken ? Of iemand ooit dit al gemaakt ?

Thanks !

Zero Grav

Legacy Member
.css() lijkt me een goed begin. Zoiets zit natuurlijk niet standaard voorzien in JQuery, daar moet ge zelf een functie voor gaan uitschrijven. Kijk naar het resize event, de top offset en bereken daarmee hoe hoog uw headerdiv moet zijn en eventuele andere dingen.

Dieterg

Legacy Member
Zero Grav zei:
.css() lijkt me een goed begin. Zoiets zit natuurlijk niet standaard voorzien in JQuery, daar moet ge zelf een functie voor gaan uitschrijven. Kijk naar het resize event, de top offset en bereken daarmee hoe hoog uw headerdiv moet zijn en eventuele andere dingen.

Een aanvulling hierop '.scroll()' .scroll() &#8211; jQuery API

Zero Grav

Legacy Member
Err ja, 't scroll event natuurlijk, niet het resize event. My bad..

-BVR-

Legacy Member
Iets als dit zou moeten werken veronderstel ik:
Code:
var $j = jQuery.noConflict();

$j(document).ready(function () {
	var header = $j('#header');
	
    $j(window).scroll(function () {
        if ($j(document).scrollTop() > 500) {
            header.addClass('small');
        }
        else {
            header.removeClass('small');
        }		
    });
});

Dan kan je makkelijk in je CSS alles aanpassen (en dus ook alles van je navigation door .small #navigation te gebruiken)
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan