vue轮播,展示pdf

根据左侧图片格式,右侧展示相应的pdf文件与图片。(vue中不支持pdf格式,pdf文件要放在static文件里);代码如下:

 <template>
<!-- 户图件展示 -->
<div id="houseImgBox">
<!-- 左侧img图片 -->
<div class="leftlList">
<GeminiScrollbar class="my-scroll-bar">
<div v-for="(item,index) in leftImgs" class="activedImg">
<label>{{index+1}}</label>
<div @click="clickImg(item)" :class="[leftItem == item ? 'listImgActived': 'img']">
<img v-if="item.fileType =='pdf'" src="pdf.jpg" />
<img v-else :src="item.fileUrl" />
</div>
</div>
</GeminiScrollbar>
</div>
<!-- 分割线 -->
<div class="string"></div>
<!-- 中间展示的图片 -->
<div class="centerImg">
<img :src="fileUrl" v-show="fileType=='image'" />
<iframe v-show="fileType=='pdf'" :src="fileUrl" frameborder="0" width="100%" height="100%"></iframe>
</div>
</div>
</template> <script>
export default {
name: "right",
components: {},
beforeCreate: function() {},
mounted: function() {
//this.leftImgs = houseImg;
if (this.leftImgs.length > 0) {
this.fileUrl = this.leftImgs[0].fileUrl;
this.fileType = this.leftImgs[0].fileType;
this.fileName = this.leftImgs[0].fileName;
}
},
data() {
return {
fileUrl: "",
fileType: "image",
fileName: "",
leftItem: 0,
leftImgs: [
{
fileUrl:
"a.jpg",//写你自己的路径信息
fileName: "房屋分户图",
fileType: "image"
},
{
fileUrl:
"a.jpg",//写你自己的路径信息
fileName: "房屋分户图",
fileType: "image"
},
{
fileUrl: "test1.pdf",//写你自己的路径信息
fileName: "ffffff",
fileType: "pdf"
},
{
fileUrl:
"b.jpg",//写你自己的路径信息
fileName: "宗地图",
fileType: "image"
},
{
fileUrl:
"c.jpg",//写你自己的路径信息
fileName: "房屋平面图",
fileType: "image"
}
]
};
},
methods: {
clickImg(item) {
this.leftItem = item;
this.fileUrl = item.fileUrl;
this.fileType = item.fileType;
this.fileName = item.fileName;
}
}
};
</script> <style scoped>
.leftlList {
color: white;
position: absolute;
margin-top: 40px;
margin-left: 40px;
width: 190px;
height: calc(100% - 80px);
} .leftlList div .img,
.listImgActived {
display: inline-block;
margin: 16px 14px;
text-align: center;
vertical-align: middle;
width: 130px;
height: 130px;
line-height: 130px;
border: 2px solid gray;
}
.leftlList div .img > img,.listImgActived img{
width: 100%;
height: 100%;
} #app .string {
position: absolute;
margin-left: 220px;
margin-top: 40px;
height: calc(100% - 80px);
border: 2px solid gray;
display: inline-block;
} .centerImg {
position: absolute;
width: calc(100% - 430px);
margin-left: 300px;
margin-top: 70px;
text-align: center;
vertical-align: middle;
height: calc(100% - 20%);
}
.centerImg img {
width: 100%;
height: 100%;
} .listImgActived {
border: 2px solid aqua !important;
} .my-scroll-bar {
height: 100%;
}
</style>

如有疑惑,请加群讨论。

vue轮播,展示pdf的更多相关文章

  1. 图片轮播展示效果-2D实现

    图片的轮播展示效果如果使用2D实现,需要将3D中存在的近大远小效果使用图片的缩放呈现,因此需要存储和计算图片的位置同时还要计算存储图片的缩放信息.将所有图片的位置连线看作是一个椭圆,就可以根据图片的个 ...

  2. vue轮播组件及去掉路由#

    最近公司要我去实现vue知识的系统讲解,总结一番,大致需要7节课,今天大致说一下我们使用vue需要学会的基本技能.vue是一个渐进性视图渲染框架,使用vue核心是数据出发,数据一般是我们前台从后台获取 ...

  3. vue轮播图实现

    1.先安装组件 cnpm install vue-awesome-swiper; 2.在main.js下引入文件: import VueAwsomeSwiper from 'vue-awesome-s ...

  4. vue轮播图插件vue-awesome-swiper的使用与组件化

    不管是APP还是移动端网页开发,轮播图在大部分项目当中都是存在的,这时候如果用vue开发项目,选择一款好的插件并且封装好是很重要的 1. 推荐使用vue-awesome-swiper 安装:cnpm ...

  5. vue轮播(完整详细版)

    轮播组件vue <swiper :options="swiperOption" class='swiper-box'>     <swiper-slide v-f ...

  6. vue轮播图

    vue开发中遇到这样一个需求实现导航栏和中间内容相结合实现页面滑动导航跟随改变的效果.看效果: 这里我用的是vue所带的插件:vue-awesome-swiper,传送门:https://www.np ...

  7. vue轮播,不是只有左右切换的,还有只切换src的

    在项目中,初次接触vue,看了轮播插件vue-swiper等,好多都是左右切换的.个人强迫症比较严重,就要单页切换样式,就手写了一个. 功能:自动轮播,上一页下一页,点击小圆点切换大图.基本轮播要求的 ...

  8. vue轮播插件vue-awesome-swiper

    https://surmon-china.github.io/vue-awesome-swiper/ 第一步安装 npm install vue-awesome-swiper --save 第二部在m ...

  9. Vue轮播图插件---Vue-Awesome-Swiper

    轮播图插件 Vue-Awesome-Swiper 地址:https://github.com/surmon-china/vue-awesome-swiper 安装:npm install vue-aw ...

随机推荐

  1. 【excel】 超链接相关

    如何导出超链接: 用visual basic处理 在excel中:Alt+F11 --> F7 --> 粘贴下面代码 -->F5(运行), 则会在原列接右侧出现超链  Sub Ext ...

  2. AOM

    AOM ----  Automation Object Model (自动化对象模型) AOM就是一个可以自动化QTP的自动化对象模型,它可以对QTP的进行自动化配置操作以及QTP的运行回放进行自动化 ...

  3. 1.如何在JMeter中使用JUnit

    您是否需要在测试过程中使用JUnit? 要回答这个问题,我们先来看看单元测试. 单元测试是软件测试生命周期中测试的最低分辨率. 运行单元测试时,需要在应用程序中使用最小的可测试功能,将其与其他代码隔离 ...

  4. C语言|博客作业12

    一.我学到的内容(整理本课程所学,[用思维导图的方式] 二.我的收获(包括我完成的所有作业的链接+收获)不能只有作业链接,没有收获 作业链接 收获 https://edu.cnblogs.com/ca ...

  5. PHP多选测试练习

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. react学习笔记_02-元素渲染

    const element = <h1>Hello, world</h1>; 上面的内容代表react中的一个元素,元素是构成 React 应用的最小砖块. 与浏览器的 DOM ...

  7. WPF多线程更新UI的一个解决途径

    那么该如何解决这一问题呢?通常的做法是把耗时的函数放在线程池执行,然后切回主线程更新UI显示.前面的updateTime函数改写如下: private async void updateTime()  ...

  8. Linux用户的基本操作3 (组的基本管理,用户提权)

    目录 组的基本原理 用户身份切换 5.用户身份提权 组的基本原理 组账户信息保存在/etc/group 和/etc/gshadow 两个文件中. /etc/group组账户信息 [root@zls ~ ...

  9. mysql创建用户账号出错

    在数据库中输入“create user 'tom'@'%' identified by '123456';”时,出现“ERROR 1819 (HY000): Your password does no ...

  10. json_value.obj) : error LNK2038: 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MT_StaticReleas

    注意版本的提示mD  mt 注意动态mfc 还是静态mfc