js控制GIF图片播放暂停


js控制GIF图片播放暂停

1.效果如下:

 

预览页:https://volodyan.github.io/vue3_poject_template_preview/#/

 

2.使用libgif.js库

3.源码如下:

  1 <template>
  2   <div class="SuperGifComponents">
  3     <div class="imgbox">
  4       <img
  5         id="example1"
  6         :src="imgUrl"
  7         :rel:animated_src="imgUrlGIF"
  8         rel:auto_play="0"
  9         width="467"
 10         height="375"
 11       />
 12     </div>
 13 
 14     <div class="Buttonbox">
 15       <div
 16         v-for="(item, index) in tabrooms"
 17         :key="index"
 18         class="itembox"
 19         @click="tabClickfun(item, index)"
 20       >
 21         {{ item }}
 22       </div>
 23     </div>
 24   </div>
 25 </template>
 26 <script>
 27 import SuperGif from "./libgif/libgif.js";
 28 export default {
 29   name: "SuperGifComponents",
 30   data() {
 31     return {
 32       tabrooms: ["Pause", "Play", "Restart", "Step forward", "Step back"],
 33       imgUrl: require("@/assets/img/fish.png"),
 34       imgUrlGIF: require("@/assets/img/fish.gif"),
 35       sup1: null,
 36     };
 37   },
 38   async mounted() {
 39     try {
 40       this.InitSuperGif();
 41     } catch (e) {
 42       console.error("程序错误", e);
 43     }
 44   },
 45   methods: {
 46     InitSuperGif() {
 47       console.log("SuperGif", SuperGif);
 48       // 通过异步函数,获取gif文件
 49       var sup1 = new SuperGif({
 50         gif: document.getElementById("example1"),
 51         progressbar_foreground_color:"#9254de",
 52         progressbar_background_color :"#ebeef5",
 53         progressbar_height:10
 54       });
 55 
 56       sup1.load();
 57       this.sup1 = sup1;
 58     },
 59     tabClickfun(item, index) {
 60       //["Pause", "Play", "Restart", "Step forward", "Step back"]
 61       if (item === "Pause") {
 62         this.sup1.pause();
 63       } else if (item === "Play") {
 64         this.sup1.play();
 65       } else if (item === "Restart") {
 66         this.sup1.move_to(0);
 67       } else if (item === "Step forward") {
 68         this.sup1.move_relative(1);
 69       } else if (item === "Step back") {
 70         this.sup1.move_relative(-1);
 71       }
 72     },
 73   },
 74 };
 75 </script>
 76  
 77 <style lang="scss" scoped>
 78 .SuperGifComponents {
 79   width: 60%;
 80   .imgbox {
 81     width: 60%;
 82   }
 83   .Buttonbox {
 84     display: flex;
 85     flex-flow: row nowrap;
 86     margin: 30px;
 87     .itembox {
 88       // width: 86px;
 89       padding: 0 15px;
 90       height: 32px;
 91       line-height: 32px;
 92       text-align: center;
 93       white-space: nowrap;
 94       cursor: pointer;
 95       background: coral;
 96       margin-right: 10px;
 97       color: #fff;
 98       &:hover {
 99         background: rgb(219, 148, 122);
100       }
101     }
102   }
103 }
104 </style>
View Code

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM