element-ui中轮播图自适应图片高度

哈哈,久违了各位。我又回来了,最近在做毕设,所以难免会遇到很多问题,需要解决很多问题,在万能的博友帮助下,终于解决了Element-ui中轮播图的图片高度问题,话不多说上代码。

那个axios的使用不重要,大致思路就是页面渲染前拿到当前窗口的宽度*图片比例给轮播图一个初始的高度,当窗后大小发生变化时,监听事件里将轮播图高度重新赋值即可,再次感谢两位博友的帮助

<template>
    <div v-if="imgurl">
      <el-carousel :height="imgHeight+‘px‘" trigger="click">
        <el-carousel-item v-for="(item,index) in imgurl" :key="index">
          <img ref="image" style="width:100%;" :src="item" alt="轮播图" />
        </el-carousel-item>
      </el-carousel>
    </div>
</template>
<script>
// 引入axios
import axios from "axios";
export default {
  name: "First",
  data() {
    return {
      imgurl: [],
      imgHeight: ""
    };
  },
  methods: {
    imgLoad() {
      this.$nextTick(function() {
        // 获取窗口宽度*图片的比例,定义页面初始的轮播图高度
        this.imgHeight = document.body.clientWidth*1/4
      });
    },
    getImgUrl() {
      axios
        .get("/carousel")
        .then(res => {
          for (var i = 0; i < res.data.message.length; i++) {
            const imgurl = `../../static/${res.data.message[i].imgurl}`;
            this.imgurl.push(imgurl);
          }
          // 获取到图片后,调用this.imgLoad()方法定义图片初始高度
          this.imgLoad();
        })
        .catch(error => {
          console.log(error);
        });
    }
  },
  mounted() {
    this.getImgUrl();
    // 监听窗口变化,使得轮播图高度自适应图片高度
    window.addEventListener("resize", () => {
      this.imgHeight = this.$refs.image[0].height;
    });
  }
};
</script>

原文地址:https://www.cnblogs.com/Azyzl/p/11169141.html

时间: 2024-07-28 15:44:06

element-ui中轮播图自适应图片高度的相关文章

vue element 框架 自定义轮播图,点击上下翻图,并让图片居中

1.素材展示窗口,左侧预览滚动区域按分辨率做一屏最大预览数量做均分(超过最大预览数量是滚动条滑动) 2.左侧预览滚动区域增加浅灰色底色要求与滚动条颜色区分 3.预览滚动区域单个区域高度固定,素材图按比例缩放 4.素材图展示大图上下顶部及底部区域增加上下翻页箭头,点击有按压效果 5.预览的素材大图为左侧预览区域居中的素材,上下翻页,滚动区域居中素材跟随翻滚  以上是需求,下面贴代码 轮播图效果 template 1 <el-dialog class="material-dialog"

产品设计中轮播图的弊端以及6种替代方式

轮播图在UI设计中是个邪恶的存在,其实很多设计师和前端都这么认为. 那为什么我们还能到处看见轮播图? 一部分原因就在于我们很多人经常看到轮播图,所以把轮播图的存在习惯性地标准化了,可能会随口跟设计师们提建议. 但存在并非合理,单单"流行"这一个原因并不能支撑一个事物的合理性.身为设计师,也要习惯批判性地看问题. 来吐槽下轮播图的"名过其实" 阅读障碍:轮播图会自动翻页,这对那些阅读速度慢的人来说就是很大的障碍.你可能经常会遇到这种情况,还没看清一张图的信息它就翻过去

javascript效果:手风琴、轮播图、图片滑动

最近都没有更,就来几个效果充实一下. 都没有进行美化这步. 手风琴: 纯css: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>手风琴css</title> <style> .showBox{ width: 660px; overflow: hidden; } ul{ list-style:

【微信小程序】获取轮播图当前图片下标、滑动展示对应的位数、点击位数展示对应图片

业务需求: 3个图片轮番播放,可以左右滑动,点击指示点可以切换图片  index.wxml: 这里使用小程序提供的<swiper>组件autoplay:自动播放interval:自动切换时间duration:滑动动画的时长current:当前所在的页面bindchange:current 改变时会触发 change 事件由于<swiper>组件提供的指示点样式比较单一,另外再自定义指示点的样式 index.wxml : <scroll-view scroll-y="

vue中轮播图的实现

轮播图 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <meta name="viewport" content="width=device-width, initial-scale=1"> </head> &l

iOS中 轮播图放哪最合适? 技术分享

我们知道,轮播图放在cell或collectionViewCell上会影响用户层级交互事件,并且实现起来比较麻烦,现在推出一个技术点:答题思路是:将UIScrollView放在UIView或UICollectionView或者UITableView上,将UIScrollView的y设为需要的大小,加载在你的现有图层上,然后改变偏移量即可,具体如下: 效果如下: 代码如下: 以UICollectionView为例 //表头可以做轮播图 UIScrollView *scrollView = [[UI

妈蛋:kinMaxShow轮播图异常,WebUploader图片上传坑爹,图片被压缩了

今天晚上在改造轮播图. 原来的代码是这样的: <div> <img src="${static}/image/index/banner/`.jpg" /> </div> <div> <img src="${static}/image/index/banner/2.jpg" /> </div> <div> <img src="${static}/image/index/

JS 实现动态轮播图

JavaScript实现轮播图思路 + html/css + js源码 整个轮播图的效果是通过js代码,操作dom, 拿到html我们需要的元素,控制整个ul的距离浏览器左边的位置,让排好的图片依次出现在相框中,不在相框中的元素会被css中的 overflow : hidden 隐藏掉, 其次,图片是经过处理的 ,正好和我们的相关等宽等高! 动态的创建元素,下面我们会动态创建li,并通过css把它修饰成小按钮格式,其次给小按钮添加点击事件,鼠标经过,离开事件,动态的实现图片的移动, 其实就是根据

CycleRotationView:自定义控件之轮播图

CycleRotationView:自定义控件,主要功能是实现类似与各种商城首页的广告轮播图.其实像这种比较常见的自定义控件早就满大街了,虽然说"不要重复发明轮子",但是不代表不用关心轮子是怎么造的,本着"知其然知其所以然"的态度,完成了这个控件(总不能需要用到时才来学习吧).老规矩,先来个效果图(没有效果图的文章都是耍流氓): 对于轮播图的图片切换,大家立马会想到 ViewPager 这个控件,因为它已经拥有左右滑动的功能,用来实现轮播图效果会简单一些,本篇也是基