【发布时间】:2014-04-21 20:18:59
【问题描述】:
我正在尝试使用 css3/JQuery 制作动画,同时单击侧栏,当前 div 向左滑动并消失,而另一个隐藏的 div 像页面转换一样滑动。
这是我的自动取款机:fiddle
HTML:
<div id='wrap'>
<header></header>
<div id='content'>
<div id='contentMenu'></div>
<div id='page1'>
<div id='left'></div>
<div id='right'></div>
</div>
<div id='page2'></div>
</div>
<footer></footer>
</div>
CSS:
* {
margin:0;
padding:0;
}
html, body, #wrap {
height:100%;
}
header {
height:15%;
background: #0080FF;
}
#content {
width:100%;
height:75%;
min-height:75%;
}
#contentMenu {
width:2%;
height:100%;
background:black;
display:inline-block;
}
#page1 {
width:97%;
height:100%;
display:inline-block;
-webkit-transition:height 5s;
}
#page1 div {
display:inline-block;
}
#left {
width:50%;
height:100%;
background:#FF8000;
}
#right {
width:40%;
height:100%;
background:grey;
display:none;
}
#page2 {
width:49%;
height:100%;
background:purple;
display:none ;
}
footer {
background: #58D3F7;
height:10%;
z-index:99;
}
.dis{
display:inline-block !important;
}
脚本:
$('#contentMenu').click(function () {
$('#page1').toggle('fast', 'swing', function () {
$('#page2').toggleClass('dis');
});
});
但是当隐藏的 div 被赋予可见性时,您会在页脚中看到闪烁。
有没有办法消除这种情况?
如果我删除
-webkit-transition:height 5s;,则 div 会从右上角到左下角动画(toggle()同时动画高度、宽度和不透明度)是否可以禁用高度变化并简单地从从右到左?有没有办法避免使用 jQuery 并使用纯 css3 实现这一点?
任何其他使用 css 动画实现相同效果的方法也将不胜感激:)
【问题讨论】:
标签: javascript jquery html css