javascript - svg 怎么应用 CSS3 的过渡效果,实现 path 路径的平滑过渡??
阿神
阿神 2017-04-11 13:26:44
[JavaScript讨论组]

svg 怎么应用 CSS3 的过渡效果,实现 path 路径的平滑过渡??

想要实现的效果:

由这张图 平滑过渡到:

代码如下(相关详情在js代码部分):

 css: 
   #svg , #path {
      transition:all 0.5s ease-in-out;
      -webkit-transition:all 0.5s ease-in-out;
      -moz-transition:all 0.5s ease-in-out;
      -o-transition:all 0.5s ease-in-out;
      -ms-transition:all 0.5s ease-in-out;
   }
   #path {
      fill:#e7e7e7;
      stroke:none;
   }
 html:

 
    
 

 javascript: 
 
 var d1 = 'M 0 0 h 5 v 20 h -5 L 0 0  M 11 0 h 5 v 20 h -5 L 11 0 Z';
 var d2 = 'M 0 0 L 18 11 L 0 22 L 0 0 Z';
 var svg = $id('svg');
 var path = $id('path');

 // 实现点击 svg 路径发生变化。
 // 不过普通情况(无 CSS3 Transition 效果下),过渡很生硬
 // 但是貌似无论我给 svg 还是 path 亦或是两者都加: transition: all 0.5s ease-in-out
 // 都无法实现平滑过渡!
 // 是否 svg 不支持 CSS3 的 transition ??
 loginEvent(svg , 'click' , setPath , false ,false);
 function setPath(){
   var d = path.getAttribute('d');
   if (d === '' || d === d2) {
      path.setAttribute(d , d1);
   } else {
     path.setAttribute(d , d2);
   }
 }
阿神
阿神

闭关修行中......

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

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