你的意思是这样的吗?
不是所有的 CSS,它使用 JavaScript 来延迟默认的点击动作(更新:使用 JavaScript 进行重定向,因为它现在使用div
元素,而不是链接)。但是,动画由 CSS 处理。
HTML应该是这样的:
<div data-redirect='page1.html' class='tile'></div>
<div data-redirect='page2.html' class='tile'></div>
<div data-redirect='page3.html' class='tile'></div>
<div data-redirect='page4.html' class='tile'></div>
相关CSS:
.tile {
display: inline-block;
opacity: 0;
transform: scale(.3);
background: lightblue;
animation: bouncein 1s .5s cubic-bezier(0, 2.5, 1, -.25) forwards;
}
@keyframes bouncein {
from { opacity: 0; transform: scale(.3); }
to { opacity: 1; transform: scale(1); }
}
.bounceout {
animation: bounceout 1s cubic-bezier(0, 2.5, 1, -.25) forwards;
}
@keyframes bounceout {
from { opacity: 1; transform: scale(1); }
to { opacity: 0; transform: scale(.1); }
}
我用过的所有JavaScript :
document.body.addEventListener('click', function(e){
var target = e.target;
if(target.classList.contains('tile')) {
target.classList.add('bounceout');
setTimeout(function() {
if(target.dataset) window.location = target.dataset.redirect;
else window.location = target.getAttribute('data-redirect');
}, 1000);
}
}, false);
如果您想了解更多关于 CSS3 动画与 jQuery 动画的信息,那么这篇文章可能会有所帮助。