我为WordPress开发了一个插件来包含这个jQuery库的功能:http://ricostacruz.com/jquery.transit/#top - 仅用于学习目的。
这是我的页面:http://petoria.de - 如果您将鼠标移到徽标上,它会旋转360°。
问题:它只旋转一次。我想让它每次旋转 我将鼠标移到徽标上。就像在第一个提到的网站的例子中一样。
我做旋转的代码是:
jQuery(document).on('mouseenter', '#logo', function() {
jQuery(this)
.transition({perspective: '300px', rotateX: '360deg'}, 500, 'ease-out')
});
您也可以在kmt.init.js
中看到它a)每次将鼠标移到徽标上时如何让它旋转?
b)heck是jquery.transit网站上运行演示的代码?
答案 0 :(得分:5)
您必须在转换功能的回调中重置旋转(再次将其设置为0度),或者您可以通过将代码更改为
来实现相同的旋转。jQuery(this).transition({
perspective: '+=300px',
rotateX: '+=360deg'
}, 500, 'ease-out');
+=
增加属性的值
答案 1 :(得分:2)
动画结束后重置样式。您可以对重置进行排队,如下所示:
jQuery(document).on('mouseenter', '#logo', function() {
jQuery(this)
.transition({perspective: '300px', rotateX: '360deg'}, 500, 'ease-out')
.transition({rotateX: 0, duration: 0});
});
这样可以避免计时大于必要的rotateX值,并且每次都会增加值。
答案 2 :(得分:1)
我认为你需要回到零度才能再次旋转它。
答案 3 :(得分:0)
jQuery(document).on('mouseenter', '#logo', function() {
jQuery(this)
.transition({
perspective: '+=300px',
rotateX: '+=360deg'
}, 500, 'ease-out');
});
使用相对值将在此处工作,而不再需要+=
增量代码。