J'ai un panneau caché sur le côté gauche de l'écran qui se glisse dans le cliquetis d'une «languette» positionnée sur le côté gauche du écran. J'ai besoin que le panneau glisse au-dessus du contenu de la page existante, et j'ai besoin de l'onglet pour le déplacer. et donc les deux sont absolument positionnés en CSS. Tout fonctionne bien, à part que j'ai besoin de l'onglet (et donc de l'onglet-conteneur) pour aller à gauche avec le panneau quand il est révélé, donc il semble être coincé sur le côté droit du panneau. C'est relativement simple lors de l'utilisation des flotteurs, mais bien sûr cela affecte la mise en page du contenu existant, donc le positionnement absolu. J'ai essayé d'animer la position gauche du conteneur-panel (voir la fonction jquery documentée), mais je ne peux pas le faire fonctionner.jQuery - l'animation de la position «gauche» de la div positionnée de façon absolue lorsque le panneau coulissant est visible
Ceci est un exemple du code original que j'ai changé, comment puis-je faire glisser le bouton/la languette?
http://www.iamkreative.co.uk/jquery/slideout_div.html
Mon HTML
<div><!--sample page content-->
<p>
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et
</p>
</div>
<div id="panel" class="height"> <!--the hidden panel -->
<div class="content">
<p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore</p>
</div>
</div>
<!--if javascript is disabled use this link-->
<div id="tab-container" class="height">
<a href="#" onclick="return()">
<div id="tab"><!-- this will activate the panel. --></div>
</a>
</div>
Mon jQuery
$(document).ready(function(){
$("#panel, .content").hide(); //hides the panel and content from the user
$('#tab').toggle(function(){ //adding a toggle function to the #tab
$('#panel').stop().animate({width:"400px", opacity:0.8}, 100, //sliding the #panel to 400px
// THIS NEXT FUNCTION DOES NOT WORK -->
function() {
$('#tab-container').animate({left:"400px"} //400px to match the panel width
});
function() {
$('.content').fadeIn('slow'); //slides the content into view.
});
},
function(){ //when the #tab is next cliked
$('.content').fadeOut('slow', function() { //fade out the content
$('#panel').stop().animate({width:"0", opacity:0.1}, 500); //slide the #panel back to a width of 0
});
});
});
et c'est le css
#panel {
position:absolute;
left:0px;
top:50px;
background-color:#999999;
height:500px;
display:none;/*hide the panel if Javascript is not running*/
}
#panel .content {
width:290px;
margin-left:30px;
}
#tab-container{
position:absolute;
top:20px;
width:50px;
height:620px;
background:#161616;
}
#tab {
width:50px;
height:150px;
margin-top:100px;
display:block;
cursor:pointer;
background:#DDD;
}
Un grand merci