Tôi đang cố gắng chuyển văn bản thành "xoay", bằng cách áp dụng chuyển đổi xoay một chiều, sau đó xoay vòng theo cách tiếp theo, khi di chuột qua. Tuy nhiên, nó không chờ đợi quá trình chuyển đổi đầu tiên được hoàn thành nên có vẻ như chỉ có quá trình chuyển đổi cuối cùng mới được áp dụng. Làm thế nào tôi có thể buộc nó phải đợi cho quá trình chuyển đổi đầu tiên hoàn thành? JSfiddle: http://jsfiddle.net/hari_shanx/VRTAf/7/cách đợi chuyển tiếp css để kết thúc trước khi áp dụng lớp tiếp theo
HTML:
<div id="chandelier">
<nav>
<ul id="chandelier-list">
<li id="logo-home" class="swing"><a href="#home" class="scrollPage">home</a>
</li>
<li id="logo-about" class="swing"><a href="#about" class="scrollPage">about us</a>
</li>
<li id="logo-range" class="swing"><a href="#range" class="scrollPage">our range</a>
</li>
<li id="logo-contact" class="swing"><a href="#contact" class="scrollPage">contact us</a>
</li>
<li id="logo-blog" class="swing"><a href="#blog" class="scrollPage">blog</a>
</li>
</ul>
</nav>
</div>
CSS:
.swing {
position: absolute;
-webkit-transform: rotate(-90deg);
-moz-transform: rotate(-90deg);
-o-transform: rotate(-90deg);
transform: rotate(-90deg);
writing-mode: lr-tb;
-webkit-transform-origin: right top;
-moz-transform-origin: right top;
-ms-transform-origin: right top;
-o-transform-origin: right top;
transform-origin: right top;
font-size: 18px;
-webkit-transition: all 0.2s ease-in-out;
-moz-transition: all 0.2s ease-in-out;
-o-transition: all 0.2s ease-in-out;
transition: all 0.2s ease-in-out;
}
.swing1 {
-webkit-transform: rotate(-80deg);
-moz-transform: rotate(-80deg);
-o-transform: rotate(-80deg);
transform: rotate(-80deg);
}
.swing2 {
-webkit-transform: rotate(-97deg);
-moz-transform: rotate(-97deg);
-o-transform: rotate(-97deg);
transform: rotate(-97deg);
}
.swing3 {
-webkit-transform: rotate(-85deg);
-moz-transform: rotate(-85deg);
-o-transform: rotate(-85deg);
transform: rotate(-85deg);
}
.swing4 {
-webkit-transform: rotate(-92deg);
-moz-transform: rotate(-92deg);
-o-transform: rotate(-92deg);
transform: rotate(-92deg);
}
.swing5 {
-webkit-transform: rotate(-89deg);
-moz-transform: rotate(-89deg);
-o-transform: rotate(-89deg);
transform: rotate(-89deg);
}
#logo-home {
top: 0;
left: -32px;
}
#logo-about {
top: 0;
left: -17px;
}
#logo-range {
top: 0;
left: 14px;
}
#logo-contact {
top: 0;
left: 48px;
}
#logo-blog {
top: 0;
left: 135px;
}
#chandelier nav ul li a {
text-decoration: none;
}
#chandelier nav ul {
list-style-type: none;
}
JS:
$('.swing').hover(
function() {
$(this).addClass('swing1');
$(this).addClass('swing2');
},
function() {
$(this).removeClass('swing1');
$(this).removeClass('swing2');
});
Bản sao có thể có của http://stackoverflow.com/questions/2087510/callback-on-css-transition –
Câu trả lời này có thể giúp bạn: http://stackoverflow.com/a/3679459/1665625 – lukeseager