2013-04-12 5 views
0

J'utilise un plugin jQuery appelé Sticky Floating Box pour avoir un div qui flotte mais qui est contenu dans l'autre div. Il semble fonctionner mais il ne reste pas dans le div contenant. J'ai regardé les scripts demo page mais ne peux pas comprendre ce que je fais mal.JS ne fonctionne pas comme prévu

Voici le JS Initialiser code:

$(function() { 
    jQuery('.addthis').stickyfloat('update',{ duration:0}); 
}); 

Voici un jsFiddle montrant la question.

HTML et CSS ci-dessous:

<div class="header"> HEADER </div> 
<div class="container"> 
    <div class="addthis"> 
    <!-- AddThis Button BEGIN --> 
     <div class="addthis_toolbox addthis_floating_style addthis_32x32_style"> 
      <a class="addthis_button_facebook"></a> 
      <a class="addthis_button_twitter"></a> 
      <a class="addthis_button_google_plusone_share"></a> 
      <a class="addthis_button_pinterest_share"></a> 
      <a class="addthis_button_compact"></a> 
      <a class="addthis_button_email"></a> 
     </div> 
     <script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=undefined"></script> 
     <!-- AddThis Button END --> 
    </div> 
    <p>ICONS SHOULD STAY <BR> WITHIN THIS GRAY BOX<p> 
</div> 
<div class="footer"> SHOULD NOT GO BELOW THIS LINE</div> 

.header{ 
width:400px; 
background: #F00; 
height:100px; 
margin:0 auto; 
} 
.container{ 
position:relative; 
height:400px; 
width:400px; 
margin:0 auto; 
background: #999; 
} 
.footer{ 
height:700px; 
width:400px; 
background: #F0F; 
margin:0 auto; 
} 
.addthis{ 
position:absolute; 
top:0; 
left:-50px; 
} 
+1

S'il vous plaît inclure tout le code correspondant à la question. S'il y a trop de code pour le faire, coupez-le jusqu'à ce que vous ayez le plus petit exemple qui reproduise votre problème. Si, pour une raison quelconque, vous ne pouvez pas le faire, votre question ne convient pas pour Stack Overflow. – meagar

+0

@meagar - J'ai inclus le code complet mais je ne sais pas si c'est nécessaire. La plupart des CSS n'est pas nécessaire mais utilisé à des fins de démonstration. Le HTML est le même. – L84

+1

Le problème est que 'position: fixed' est appliqué à' .addthis_floating_style' quelque part. –

Répondre

2

je devais faire trois choses pour obtenir le jsFiddle fonctionne correctement:

stickyfloat fonction doit être appelée après que la page est prête (et retirez le 'update' partie).

jQuery(document).ready(function() { 
    jQuery('.addthis').stickyfloat({ duration:0}); 
}); 

Ajouter la règle CSS suivante:

.addthis_floating_style 
{ 
    position:inherit !important; 
} 

Donnez la .addthis div une hauteur explicite et largeur:

.addthis 
{ 
    position:absolute; 
    top:0; 
    left:-50px; 
    width :36px; 
    height:222px; 
} 
+0

Oups! J'ai oublié le doc prêt dans le Fiddle. Avait ça sur la page mais le reste je n'ai pas et ça marche! Merci! => – L84

+0

Une note: il pourrait être mieux pour la maintenabilité (si vous ajoutez ou supprimez des icônes sociales ou changez le style) pour définir la hauteur et la largeur de la div div.addthis à la hauteur et la largeur de son div enfant après le chargement des icônes sociales . –

Questions connexes