viewer 图片点击放大 用法汇总
A 不用viewer插件
1弹出框
https://www.cnblogs.com/web1/p/8989967.html
2表格中
https://www.jianshu.com/p/c17f4f62704c
3自己封装vue组件
https://www.cnblogs.com/yesyes/p/6689082.html
一、用viewer插件
效果:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title></title> <link rel="stylesheet" type="text/css" href="js/viewer.css"/> <script src="js/viewer.js" type="text/javascript" charset="utf-8"></script> <style type="text/css"> .img-list{ clear: both; } .img-list li{ width:200px; height: 200px; margin: 10px; float: left; } img{ width: 100px; height: 100px; display: block; } </style> </head> <body> <ul id="images1" class="img-list"> <li> <img src="img/QQ图片20170920110853.png"/> </li> <li> <img src="img/QQ图片20170920110853.png"/> </li> <li> <img src="img/QQ图片20170920110853.png"/> </li> <li> <img src="img/QQ图片20170920110853.png"/> </li> </ul> <!--二--> <ul id="image2" class="img-list"> <li> <img src="img/QQ图片20170920110853.png" data-imgurl="img/QQ图片20170920110853.png"/> </li> <li> <img src="img/QQ图片20170920110853.png" data-imgurl="img/QQ图片20170920110853.png"/> </li> <li> <img src="img/QQ图片20170920110853.png" data-imgurl="img/QQ图片20170920110853.png"/> </li> <li> <img src="img/QQ图片20170920110853.png" data-imgurl="img/QQ图片20170920110853.png"/> </li> </ul> </body> <script type="text/javascript"> window.onload = function(){ var viewer = new Viewer(document.getElementById('images1'), {}); // var viewer = new Viewer(document.getElementById('image2'), { url: 'data-imgurl' }); } </script> </html>
在非Vscode项目的用法跟普通js用法一样。
this.$nextTick(function () {
viewer = new Viewer(document.getElementById(‘dowebok’));
})
this.$nextTick(function () {
//viewer = new Viewer(document.getElementById(‘dowebok’), {
// viewed: function () {
// $(“body”).append($(“.viewer-container”))
// }
//});
})
<div id="dowebok_qm">
<Carousel v-bind:radius-dot="carouselDot_qm" dots="outside" v-bind:height="imgHeight2+'px'" v-model="carouselValue_qm" style="text-align:center;">
<div v-for="item in imgData_qm">
<Carousel-Item>
<img v-bind:src="item.src" style="height:inherit;width:auto;cursor:pointer;" />
<div><span class="carousel-text"> {{item.textName}}</span></div>
</Carousel-Item>
</div>
</Carousel>
</div>
图片名称显示的样式
.carousel-text {
position: relative;
bottom: 25px;
width: 100%;
font-size: 13px;
/*width: auto;*/ /*也可以*/
text-align: center;
color: white;
background-color: rgba(0,0,0,0.3);
}
vue的 methods中写方法
getImageListByPlantID: function (id) {
//根据id发送 ajax请求 从数据库获取该id对应的图片数据列表
this.imgData_qm=[];
let srcPart = ‘/ProjectFrist/Api/image/’
for (i = 0, len = imageList.length; i < len; i++) {
// 拼接对象
that.imgData_qm.push({ src: srcPart + imageList[i].ImageID + part, name: imageList[i].FileName, textName: imageList[i].textName });
}
if (that.imgData_qm.length > 10) {
that.carouselDot_qm = true; //如果图片数量大于10个则将轮播图的 横杠 换成 点。
}
vm.$nextTick(function () {
console.log(“dowebok_qm 被点中”);
viewer = new Viewer(document.getElementById(‘dowebok_qm’));
});
}
效果如下
点击图片,viewer在弹出一张大图。