vue+mui轮播图
2024-10-18 22:28:49
mui的轮播图,如果图片是请求来的,直接在html中循环是不会动的。
需要请求完图片之后,在setTimeout方法里,使用slider()方法,这样才会动
而且mui的轮播图,有点坑的,需要重复最后一张和第一张,才会无缝链接
<template>
<div class="rotation">
<div class="logo"></div>
<div class="mui-slider">
<!-- mui-slider-loop 这个类是控制循坏轮播的 -->
<div class="mui-slider-group mui-slider-loop">
<!-- 重复最后一张轮播图 -->
<div class="mui-slider-item mui-slider-item-duplicate">
<img :src="last">
</div> <!-- 全部轮播图 -->
<div class="mui-slider-item" v-for="(item,i) in rotations">
<img :src="item.mpSlug" alt>
</div> <!-- 重复第一张轮播图 -->
<div class="mui-slider-item mui-slider-item-duplicate">
<img :src="first">
</div>
</div> <!-- 轮播图小圆点 -->
<div class="mui-slider-indicator">
<div class="mui-indicator" v-for="(item,i) in rotations"></div>
</div>
</div>
</div>
</template>
import { httpUrl } from "../../http/http.js";
export default {
name: "Rotation",
data() {
return {
rotations: [],
first: "",
last: ""
};
},
methods: {
getRotation() {
var data = "type=main_info&" + "offset=0&" + "limit=-1";
this.$axios.post(httpUrl.getContentsList, data).then(res => {
console.log(res);
this.rotations = res.data.rows;
//第一张
this.first = this.rotations[0].mpSlug;
//最后一张
this.last = this.rotations[this.rotations.length - 1].mpSlug;
});
}
},
created() {
this.getRotation();
//请求完成后再调用slider方法,由于axios里没有同步,所以使用setTimeout
setTimeout(function() {
//获得slider插件对象
var gallery = mui(".mui-slider");
gallery.slider({
interval: 3000 //自动轮播周期,若为0则不自动播放,默认为0;
});
}, 300);
}
};
最新文章
- [Asp.net 5] Caching-缓存架构与源码分析
- iOS 设置UILabel的行间距并自适应高度
- Linux编译源码的方式安装Qt4开发环境(基于Ubuntu系统)
- No package mysql-server available.
- C#中属性与字段的用法
- GitHub上最火的40个Android开源项目
- 【移动适配】移动Web怎么做屏幕适配(三)
- Linux驱动框架之framebuffer驱动框架
- web.xml文件中的web-app元素 部署
- 升级到tomcat7.0碰到的问题
- 2017年校园招聘ios面试题
- IP 地址基本知识
- Python全栈开发之路 【第八篇】:面向对象编程设计与开发(2)
- Java 线性表、栈、队列和优先队列
- ios-邮箱正则表达式判断
- StringUtils类方法归纳
- C/C++ 分支预测(likely unlikely)
- c#基础学习(0701)之一些简单的方法练习
- zabbix系列之六——安装后配置二Items
- java追加写入txt文件