圆形菜单与动画/转换的垂直切换
我想实现一个按钮将从其当前位置移动到顶部的动画,我在这里创建了一个示例,它不完全是我正在寻找的,而是它只是已经淡入/淡出。圆形菜单与动画/转换的垂直切换
这里是JSFiddle的工作例子,我想要展示的是当任何一个圆形导航项被点击时,所有的导航都会从中心顶部移动到顶部,所以用户可以理解当前菜单已经从中心转移到顶部
下面是代码我有尝试至今
编辑:当按下圆形菜单,然后在顶部菜单将出现,循环将隐藏,但它应该这样过渡效果移动中心到顶部。
HTML
<div class="header noDisplay">
<div class="logo"> </div>
<div class="nav">
<ul>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
<li><a href="javascript:;">Button Title</a></li>
</ul>
</div>
</div>
<div class="selector">
<ul>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
<li> <span><i>Button Title</i></span> </li>
</ul>
</div>
CSS
body{padding:0; margin:0;}
.selector {position: absolute; left: 50%; top: 50%; width: 450px; height: 450px; margin-top: -225px; margin-left: -225px;}
.selector ul {position: absolute; list-style: none; padding: 0; margin: 0; top: 50px; right: 50px; bottom: 50px; left: 50px;}
.selector li {position: absolute; width: 0; height: 100%; margin: 0 50%; -webkit-transform: rotate(-360deg); transition: all 0.8s ease-in-out;}
.selector li span {position: absolute; left: 50%; bottom: 100%; width: 0; height: 0; line-height: 1px; margin-left: 0; background: #fff; border-radius: 50%; text-align: center; font-size: 1px; overflow: hidden; cursor: pointer; box-shadow: none; transition: all 0.8s ease-in-out, color 0.1s, background 0.1s;}
.selector li span:hover { background: #fff; }
.selector.open li span {width: 150px; height: 150px; line-height: 150px; margin-left: -75px; box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); border:1px solid #b1b1b1; font-size: 14px;
}
.noDisplay{display:none;}
.selector.open li span:hover{background:#fff;}
.circle-bg{background:#f4f4f4; border-radius:50%;}
.selector li span > i{display:block; position:absolute; top:0; padding:60px 0 0 0; background:#fff; color:#000; width:100%; font-size:24px; font-weight:bold; line-height:normal; height:100%;}
.header{float:left; width:100%; padding:5px 0 0 3%; height:75px; box-sizing:border-box; box-shadow:0 0 5px rgba(0, 0, 0, 0.5);}
.header > .logo{float:left; width:auto;}
.header > .nav{float:right; width:75%;}
.header > .nav > ul{list-style:none; margin:0; padding:0; text-align:right;}
.header > .nav > ul > li{list-style:none; display:inline-block;}
.header > .nav > ul > li > a {color: #231f1f; display: block; padding: 23px 0; margin:0 15px; font-size: 14px; text-transform: uppercase; text-decoration: none; font-family: Arial; border-bottom:2px solid #fff;}
.header > .nav > ul > li > a:hover{border-bottom:2px solid #771421; color:#771421;}
这是你想要的吗?
$(".selector > ul > li > span").click(function(){
$(".logo-onload").fadeOut("slow");
$(".selector").css({"margin-top": "-2000px", "transition": "all 2s ease"});
$(".header").fadeIn("slow");
})
感谢您的回答@Nirmalya但实际上我想移动从中心效果标题菜单不圆菜单的顶部。 –
我无法理解你的意思。你能解释一下吗? –
在点击圆形菜单隐藏和标题将出现在顶部,只是要表明的过渡(过渡该用户将看到从中央位置到顶部区域移动),目前的头球攻门稍稍出现在效果褪色,相反,我想首先在中心菜单中淡入,然后移到顶端。希望它清楚 –
很难理解你想在这里实现什么。 –
当你点击圆形菜单项,其它菜单将出现在顶部和圈将隐藏,它会显示从圆形菜单项移动到顶部。希望其明确 –