javascript - jquery animate 实现背景图动画效果出现的问题?
巴扎黑
巴扎黑 2017-04-10 16:21:32
[JavaScript讨论组]

demo在这里https://jsfiddle.net/pkzt064c/

.d1{
    width:20px;
    height:20px;   background:url(http://www.nuoyidata.com/templets/heibai/images/menu_ico1.png) no-repeat; 
    background-position:0 0;
}
<p class="d1"></p>

$(function(){
   $(".d1").hover(function(){
      $(this).animate({
         "background-position-x":"0",
          "background-position-y":"-29px"
       },500);
   },function(){
       $(this).animate({
         "background-position-x":"0",
         "background-position-y":"0"
       },500);
   });
});

chrome没有问题。
ff下无法移动。
IE7,8没有问题。
IE9以上,鼠标移上有动画效果,移出的话没有动画效果。(很奇怪)

巴扎黑
巴扎黑

全部回复(3)
PHP中文网

貌似只有webkit和ie支持吧。
解决方法:

  1. 把图片写在html里,使用定位然后top控制显示图片显示位置。附效果demo

  2. 详见知乎里的同一问题解决办法

高洛峰

火狐不支持这2个属性哦,只支持background-position

怪我咯

在css里面写hover就可以了。
hover的时候background-position改变,同时给个transition就行了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号