Ich benutze jquery für meine Kopfzeile zu einem bestimmten Zeitpunkt unfixiert werden. Es funktioniert gut, aber wenn ich versuche, die Höhe meines Headers zu bekommen, gibt es ein undefiniertes Ergebnis.
HTML
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<link rel="stylesheet" href="style.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript" src="header.js"></script>
</head>
<body>
<header>
<div id="header">
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">Contact</a></li>
<li><a href="#">About</a></li>
</ul>
</nav>
</div>
</header>
JQuery
$.fn.followTo = function (height) {
var $window = $(window);
$window.scroll(function (e) {
if ($window.scrollTop() > height) {
$('#header').css({
position: 'absolute',
top: height
});
} else {
$('#header').css({
position: 'fixed',
top: 0
});
}
});
};
var windowHeight = $(window).height();
var headerHeight = $('#header').height();
console.log(windowHeight, headerHeight);
$('#header').followTo(windowHeight-headerHeight);
Wie Sie wahrscheinlich die header.js extern ist sehen, aber das sollte keine Probleme geben.
ist dieser Code in der Fußzeile oder am Ende der Seite? –