Vous trouverez ici une solution à ce problème.
d'abord la div:
<div id="bar"></div>
Maintenant un peu de style:
body{
height:4000px;
}
#bar{
position:fixed;
background-color:red;
width:100%;
height:10px;
}
Et enfin le code jQuery:
var bar = $('#bar'),
$window = $(window),
docHeight = $(document).height(),
baseX = $window.height()/docHeight * 100;
bar.css('background', '-webkit-linear-gradient(left, red '+ baseX +'%, green '+ baseX +'%)');
$window.scroll(function(e) {
var x = $window.scrollTop()/docHeight * 100 + baseX;
bar.css('background', '-webkit-linear-gradient(left, red '+ x +'%, green '+ x +'%)');
});
Vous pouvez trouver un exemple de travail dans jsfiddle .
Notez que cela ne fonctionne que dans Google Chrome, car je n'ai utilisé que -webkit-linear-gradient
. Si vous voulez vous assurer que cela fonctionne dans tous les navigateurs, vous devez ajouter sa propriété spécifique. Vous pouvez trouver utile Prefixr pour cela.
Merci. Je vais essayer. – MorrinWellSmith