首先请看:jsfiddle Demo
CSS:
.spin {
background-color: orange;
-webkit-animation-name: rotate;
-webkit-animation-duration: 2s;
-webkit-animation-iteration-count: infinite;
-webkit-animation-timing-function: linear;
-moz-animation-name: rotate;
-moz-animation-duration: 2s;
-moz-animation-iteration-count: infinite;
-moz-animation-timing-function: linear;
/* Fade */
opacity: 1.0;
transition: opacity 1s ease-in-out;
-moz-transition: opacity 1s ease-in-out;
-webkit-transition: opacity 1s ease-in-out;
}
@-webkit-keyframes rotate {
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(360deg);}
}
@-moz-keyframes rotate {
from {-moz-transform: rotate(0deg);}
to {-moz-transform: rotate(360deg);}
}
#nav {
width: 100%;
height: 150px;
background-color: #760d11;
position: absolute;
top: -100px;
left: 0;
z-index: 1;
}
#logo {
width: 54px;
height: 54px;
background-color: white;
position: relative;
z-index: 3;
margin-left: auto;
margin-right: auto;
top: -55px;
border-radius: 50% 50% 50% 50%;
opacity: 0.6;
}
使用Javascript:
$(document).ready(function () {
var logo$ = $('#logo');
var nav$ = $('#nav');
logo$.css('cursor', 'pointer');
logo$.click(function () {
nav$.stop().animate({ top: '10px' }, 600);
nav$.addClass('isopen');
});
nav$.mouseleave(function () {
$(this).stop().animate({ top: '-100px' }, 600);
});
setTimeout(function() {
if ($(nav$).hasClass('isopen')) {
nav$.animate({ top: '-100px' }, 600);
}
}, 30000);
if ($(nav$).hasClass('isopen')) {
logo$.addClass('.spin');
}
});
HTML:
<div id="topbar"></div>
<div id="logo">LOGO</div>
<div id="nav">
</div>
我试图让徽标顺时针旋转,直到光标移动到导航区域外(初始条形图和滑出的红色部分)。
我相信这应该有用,但事实并非如此。
if ($(nav$).hasClass('isopen')) {
logo$.addClass('.spin');
}
如何让徽标旋转?
答案 0 :(得分:1)
好的,所以你几乎就在那里。我得到了它的工作:fiddle
所以我将你的#span css重命名为.logo2(根据你提供的代码,这是我认为你想要的)。然后我只需在点击时将该类添加到您的徽标中,然后将鼠标移除。
logo$.click(function () {
nav$.stop().animate({ top: '10px' }, 600);
nav$.addClass('isopen');
logo$.addClass("logo2");
});
nav$.mouseleave(function () {
$(this).stop().animate({ top: '-100px' }, 600);
logo$.removeClass("logo2");
});
请告诉我这是否是您想要实现的目标!