[英]Element jumps when using jQuery slideToggle
所以,第一#metext_hiddentext被隱藏,直到你按下#btn_more_metext然后高:50%的股份將由高度覆蓋:汽車 。
jQuery的:
<script type="text/javascript">
$( document ).ready(function() {
$('#metext_hiddentext').hide();
$('#btn_more_metext').click(function(){
$('#me').css( "height", "auto" );
$('#metext_hiddentext').slideToggle('slow');
});
});
</script>
HTML:
<div id="me">
<div id="me_content">
<div id="meimg"></div>
<div class="metext">
<h1>I'm Lazor Zombie</h1>
<h2>Lorem ipsum dolor sit amet.</h2>
<div id="metext_hiddentext">
<h2>Lorem ipsum dolor sit amet.</h2>
</div>
<div id="btn_more_metext">...</div>
</div>
</div>
CSS:
#me {
background: #ff8400;
height: 50%;
}
#btn_more_metext {
font: 20px/10px "Rosario", 'Ubuntu', sans-serif;
cursor: pointer;
width: 80px;
height: 35px;
line-height: 22px;
}
給padding:0
和margin:0
或添加自定義邊距和填充到<h2>
因為它們具有默認邊距並且導致slideToggle()
跳轉行為。
h2{
margin:0;
padding:0;
}
我認為這里的問題是,當div被動畫化時,它有overflow:hidden;
並且h2有一些余量...所以嘗試刪除邊距形式h2並將其添加到toggeld的div:
這里的小提琴: http : //jsfiddle.net/qk8nq/
#me {
background: #ff8400;
height: 50%;
}
#metext_hiddentext {
margin:1em 0;
}
#btn_more_metext {
font: 20px/10px "Rosario", 'Ubuntu', sans-serif;
cursor: pointer;
width: 80px;
height: 35px;
line-height: 22px;
}
h2 {
padding:0;
margin:0;
}
有時這可以通過添加position: relative
來解決position: relative
對於容器(在這種情況下是具有“metext”類的那個)。 但我不明白為什么。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.