Repositionner div suivant le scroll en jquery

Bonjour,

j'ai trouvé un script pour repositionner une div en haut de la fenetre suivant le scroll comme dans cet exemple la div panier qui suit le scroll :

http://www.sushishop.fr/catalogue-produit-sushi-Accompagnements/10

j'ai trouvé ce code en cherchant mais je n'arrive pas à le faire fonctionner, pouvez vous m'aider merci :

<html xmlns="http://www.w3.org/1999/xhtml">
<head>

<title>Albi Commerces style</title>

<style>
body {
background-color: #000000;
margin: 0;
overflow: auto;
padding: 0;
text-align: center;
}
#conteneur {
margin-right: auto;
margin-left: auto;
height: 1800px;
width: 960px;
}
#header {
width: 960px;
width: 173px;
}
#scrollingDiv {
width: 250px;
height: 200px;
border: 2px solid white;
color: white;
}
</style>

<script type="text/javascript">
$(window).scroll(function(){
$("#scrollingDiv")
.stop ();
.animate({"marginTop": ($(window).scrollTop() + 50) + "px"}, "slow" );
})
</script>
</head>

<body class="bg">

<div id="conteneur">
<div id="scrollingDiv"> Contenu du layer </div>
</div>

</body>

3 réponses

  1. Essaye avec ça ...

    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
    <title>Albi Commerces style</title> 
    
    <style> 
    body { 
    	background-color: white; 
    	margin: 0; 
    	overflow: auto; 
    	padding: 0; 
    	text-align: center; 
    } 
    #conteneur { 
    	margin-right:0; 
    	margin-left:0; 
    	height: 1800px; 
    	width: auto; 
    } 
    
    #scrollingDiv { 
    	float:right;
    	margin-top:10px;
    	margin-right:20px; 
    	width: 250px; 
    	height: 200px; 
    	border: 1px solid grey; 
    	color: grey; 
    } 
    </style> 
    <script type="text/javascript" src="jquery.js"></script> 
    <script type="text/javascript"> 
    $(window).scroll(function(){ 
    	$("#scrollingDiv").stop(); 
    	$("#scrollingDiv").animate({"marginTop": ($(window).scrollTop() + 30) + "px"}, "slow"); 
    });
    </script> 
    </head> 
    
    <body> 
    
    <div id="conteneur"> 
    	<div id="scrollingDiv"> Contenu du layer </div> 
    </div> 
    
    </body>
    </html>
    1. Bonjour,
      Merci pour ta réponse Joos.

      Je me permet de remonter le sujet car j'ai un soucis très similaire.
      Ta réponse répond a mes soucis sauf un:
      Comme on peut le voir, sur le site cité en exemple:
      http://www.sushishop.fr/catalogue-produit-sushi-Accompagnements/10
      la div panier suit le scroll, mais elle a une particularité que je recherche:

      Le panier est sous le header mais des que l'on scroll vers le bas, le div se place en haut du navigateur.
      C'est exactement ce que je cherche.
      Or, le code fournis par joos laisse tout le temps un espace en haut du navigateur.

      Quelqu'un aurait-il une solution pour ça?

      Merci.
      1. Ben il suffit d'enlever le " + 30 " ou de diminuer la valeur !
      2. En enlevant le +30, le div va passer par dessus le header il me semble. Or, ce n'est pas ce que je souhaitai.
        Mais en jouant sur les deux codes fourni, je suis parvenu a gérer cette particularité.
        Merci a vous :)