在网页设计中,鼠标经过图片时会出现一些特效,如缩放、闪烁、旋转等。本文将主要介绍如何让图片在鼠标经过时自动旋转。
一、使用CSS3动画
利用CSS3中的transform属性和@keyframes规则,可以实现在鼠标经过时自动旋转图片的效果,具体代码如下:
img:hover {
animation: rotate 1s linear infinite;
}
@keyframes rotate {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
二、使用jQuery插件
jQuery是一款热门的JavaScript库,因其功能强大、易用性好而广受欢迎。可以使用其中的插件来实现在鼠标经过时自动旋转图片的效果,如hover3d、rotate3Di、jqueryRotate等。
其中jqueryRotate插件是比较简单易用的,具体代码如下:
$(document).ready(function() {
$('.img-container').hover(function() {
$(this).rotate({
angle: 0,
animateTo:360
});
}, function() {
$(this).rotate({
angle: 0,
animateTo:0
});
});
});
三、使用JavaScript代码
JavaScript是一门脚本语言,可以很方便地实现网页上的动态效果。可以使用其中的代码来实现在鼠标经过时自动旋转图片的效果,具体代码如下:
function rotate() {
var img = document.getElementById('myImg');
var deg = 0;
var timer = setInterval(function() {
deg += 5;
img.style.transform = 'rotate(' + deg + 'deg)';
img.style.webkitTransform = 'rotate(' + deg + 'deg)';
img.style.mozTransform = 'rotate(' + deg + 'deg)';
img.style.msTransform = 'rotate(' + deg + 'deg)';
img.style.oTransform = 'rotate(' + deg + 'deg)';
}, 50);
img.onmouseout = function() {
clearInterval(timer);
};
}
摘自《JS高级程序设计》第3版
以上就是三种技术实现在鼠标悬浮时自动旋转图片的效果,方便、简单且美观。不同项目可以根据需要选择合适的技术方法,并将其根据需求灵活运用。