如何制作图片动画?
时间:2009-07-17
来源:互联网
有一张a.png图片,上面有16×16像素的5帧,一开始的时候显示第一帧。
如何让鼠标移上去产生动画呢?
如何让鼠标移上去产生动画呢?
作者: gundumw100 发布时间: 2009-07-17
这个貌似用flash容易,你试试animate()函数,但是要连续运动的话,好像得用setTimeout()之类的核心函数吧
作者: xyq159589 发布时间: 2009-07-17
更改src属性
不过最好先做缓存,否则会很慢
不过最好先做缓存,否则会很慢
作者: keakon 发布时间: 2009-07-17
var show;
var ii=0;
var jj=0;
$(".ani").mouseover(function(){
//console.log("in");
if(show){
clearInterval(show);
}
jj=$(".ani").index(this);
show=setInterval(ani_in,100);
}).mouseout(function(){
//console.log("out");
if(show){//如果鼠标移出比较快,来不及在if()中clearInterval,那么就在这里clearInterval
clearInterval(show);
}
jj=$(".ani").index(this);
show=setInterval(ani_out,100);
});
function ani_in(){
ii++;
if(ii>=4){
ii=4;
clearInterval(show);
}
$($(".ani")[jj]).css("backgroundPosition",(-52*ii)+"px"+" "+(-37*jj)+"px");
}
function ani_out(){
ii--;
if(ii<0){
ii=0;
clearInterval(show);
}
$($(".ani")[jj]).css("backgroundPosition",(-52*ii)+"px"+" "+(-37*jj)+"px");
}
html:
<ul style="float:left;list-style:none;">
<li><div class="ani" style="background-position:0px 0px;"></div></li>
<li><div class="ani" style="background-position:0px -37px;"></div></li>
<li><div class="ani" style="background-position:0px -74px;"></div></li>
</ul>
css:
.ani{
background: url(images/toolbar_animation_20090618.png) no-repeat ;
width: 52px;
height: 37px;
cursor: pointer;
}
上述代码对单张图片是没有什么问题的;但对于多张图片有问题(当鼠标快速从一张图片移入另一张图片时会使上一张图片动画禁止)
var ii=0;
var jj=0;
$(".ani").mouseover(function(){
//console.log("in");
if(show){
clearInterval(show);
}
jj=$(".ani").index(this);
show=setInterval(ani_in,100);
}).mouseout(function(){
//console.log("out");
if(show){//如果鼠标移出比较快,来不及在if()中clearInterval,那么就在这里clearInterval
clearInterval(show);
}
jj=$(".ani").index(this);
show=setInterval(ani_out,100);
});
function ani_in(){
ii++;
if(ii>=4){
ii=4;
clearInterval(show);
}
$($(".ani")[jj]).css("backgroundPosition",(-52*ii)+"px"+" "+(-37*jj)+"px");
}
function ani_out(){
ii--;
if(ii<0){
ii=0;
clearInterval(show);
}
$($(".ani")[jj]).css("backgroundPosition",(-52*ii)+"px"+" "+(-37*jj)+"px");
}
html:
<ul style="float:left;list-style:none;">
<li><div class="ani" style="background-position:0px 0px;"></div></li>
<li><div class="ani" style="background-position:0px -37px;"></div></li>
<li><div class="ani" style="background-position:0px -74px;"></div></li>
</ul>
css:
.ani{
background: url(images/toolbar_animation_20090618.png) no-repeat ;
width: 52px;
height: 37px;
cursor: pointer;
}
上述代码对单张图片是没有什么问题的;但对于多张图片有问题(当鼠标快速从一张图片移入另一张图片时会使上一张图片动画禁止)
图片:
效果看http://www.google.com搜索栏下面的7个彩色点。 作者: gundumw100 发布时间: 2009-07-17
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28