pc端圖片與視訊放大預覽
我這邊藉助了element的dialog元件,進行封裝為自己的公共元件即可
正常頁面 圖片大小
<div v-if="JSON.stringify(authorizedInformation) !== '{}' && authorizedInformation.name != '無'"> <div v-for="(item, value) in authorizedImg"><img :src="item.url" @click="large(authorizedImg, index)"/> </div> </div>
authorizedImg這是一個物件,裡面的type 是對應是img 還是 video 還有一個屬性自然是伺服器路徑url了
video
<video :src="videoUrl"
@click="large([{type: 'video', url: videoUrl}])">
</video>
點選事件 觸發 子元件
large(img, index) { // 圖片放大 if (img.length > 0) { this.imgList = img this.currentIndex = index this.$refs.img.open() } },
<cd-img ref="img"
:imgList="imgList"
:index="currentIndex"></cd-img>
其實不難,,主要是樣式問題,一般來說,放大里面加了可以左右按鈕檢視,video自動播放的功而已,直接貼程式碼 HTML
<template> <el-dialog custom-class="cd-img" :visible.sync="centerDialogVisible" :close-on-click-modal="false" width="90vw" @close="close" center> <div v-if="imgList[currentIndex] != undefined" class="img" :style="'background: url(' + imgList[currentIndex].url + ') center center / contain no-repeat'"> <el-button type="text" @click="previous" style="left: -3%;" v-if="currentIndex>0"> <dl-icon type="Left" size="1.5" color="#fff"></dl-icon> </el-button> <el-button type="text" @click="next" style="right: -3%;" v-if="currentIndex< this.imgList.length - 1"> <dl-icon type="youjiantou1" size="2" color="#fff"></dl-icon> </el-button> <video width="100%" height="100%" controls ref="video" autoplay loop v-if="imgList[currentIndex].type =='video'"> <source :src="imgList[currentIndex].url" type="video/mp4"> 您的瀏覽器不支援 HTML5 video 標籤。 </video> </div> </el-dialog> </template>
CSS
<style lang="scss" rel="stylesheet/scss" scoped>
.el-dialog__wrapper{
overflow: hidden !important;
}
.cd-img.el-dialog{
margin-top: 0 !important;
padding: 0;
background: transparent;
box-shadow:0 0 0 transparent;
.el-dialog__header{
position: fixed;
top:5%;
right:2%;
z-index: 9999;
.el-dialog__headerbtn{
.el-dialog__close {
background-color: #7e848f;
border-radius: 50%;
color:#fff;
padding: .25rem;
font-size: 1.25rem;
}
}
}
.el-dialog__body{
padding: 0;
vertical-align: bottom;
}
.img{
width:100%;
height:100vh;
position: relative;
.el-button{
position: absolute;
top: 50%;
}
}
}
</style>
JS
<script>
import {Dialog, Button} from 'element-ui'
import {DlIcon} from '[email protected]'
export default {
name: 'CdImg',
components: {
[Button.name]: Button,
[Dialog.name]: Dialog,
DlIcon
},
componentName: 'CdImg',
props: {
data: Object,
color: {
type: String,
default: '#ff5a52'
},
imgList: Array,
index: Number
},
data () {
return {
centerDialogVisible: false,
currentIndex: 0
}
},
watch: {
index: function (newVal, oldVal) {
this.currentIndex = newVal !== undefined ? newVal : 0
}
},
methods: {
open () {
this.centerDialogVisible = true
if (this.$refs.video !== undefined) {
this.$refs.video.play()
}
},
next () {
this.currentIndex = this.currentIndex >= this.imgList.length - 1 ? this.currentIndex : this.currentIndex + 1
},
previous () {
this.currentIndex = this.currentIndex <= 0 ? 0 : this.currentIndex - 1
},
close () {
if (this.$refs.video !== undefined) {
this.$refs.video.pause()
}
}
},
mounted () {
}
}
</script>
只是記錄一下,希望可以幫助到大家!
相關推薦
pc端圖片與視訊放大預覽
我這邊藉助了element的dialog元件,進行封裝為自己的公共元件即可 正常頁面 圖片大小 <div v-if="JSON.stringify(authorizedInformation) !== '{}' && authorizedInform
css+jquery 實現圖片局部放大預覽
leave init float this () 設計 背景 事件 relative 今天有時間開始動手,使用css+jqueryshi實現了圖片局部放大的組件,首先看看效果圖: 界面設計思路如下: 1.兩個div,左
微信小程式上傳圖片,視訊及預覽
wxml <!-- 圖片預覽 --> <view class='preview-warp' wx:if="{{urls}}"> <image src='{{urls}}' /> </view> <view class="prew_video"
微信小程式圖片上傳放大預覽刪除程式碼
效果: 一,下面是上傳圖片的效果 image.js程式碼: Page({ //選擇相簿或拍照 data: { imgs: [] }, //上傳圖片 chooseImg: function (e) { var that = this;
jQuery PC端圖片預覽,鼠標移上去查看大圖
utf-8 charset order inline logs 鼠標 w3c auto end <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR
小程序之點擊圖片放大預覽
pos get 手機 bin tgt style col 本地圖片 sele 基本手機H5的開發,都會有圖片放大預覽的需求。下面我們看小程序是如何實現這一需求的: .wxml: <view class=‘footer‘ wx:for="{{imgArr}}">
微信小程式點選圖片放大預覽
微信小程式點選圖片放大預覽使用到 wx.previewImage 介面,可以放大、上/下一張 上程式碼 wxml程式碼 <view class='content-img' wx:if="{{images}}" > <view wx:for="{{i
AJAX實現圖片上傳和預覽(傳統ajax與jQuery AJAX;帶圖片的表單提交)
一、通過Servlet3.0和傳統的AJAX實現圖片上傳和預覽 此方法也適用於帶圖片的表單提交 上傳時預覽圖片  
移動端頁面字型圖片尺寸正常瀏覽器預覽顯示小或者超小
在HTML的<head></head>中加入這句就可以正常顯示了<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user
Android多媒體技術(一)Camera實時視訊採集預覽、拍照、JPEG圖片方向的處理
Camera實時視訊採集預覽、拍照、JPEG圖片方向的處理 作者: 蔣東國 時間: 2017年1月12日 星期四
圖片本地上傳預覽
dao tom favicon 查看 else ada author chang dataurl 在IE裏面顯示的話,你可以用div直接顯示圖片,不通過img來添加SRC,這樣就不會有小圖標出現 例子: <div class="banner_up_pic" id="i
[轉]html之file標簽 --- 圖片上傳前預覽 -- FileReader
disabled scrip ade java undefine 內容 .com 知識 nim 記得以前做網站時,曾經需要實現一個圖片上傳到服務器前,先預覽的功能。當時用html的<input type="file"/>標簽一直實現不了,最後舍棄了這個標簽,使用
html 上傳圖片,本頁預覽
html 上傳圖片 本頁預覽 直接上代碼<!DOCTYPE html><html><head><meta charset="UTF-8"><title>圖片上傳預覽</title><script type="text/j
input file實現多選,限制文件上傳類型,圖片上傳前預覽功能
ava eight tag HA ont accep 多選 red 異常 限制上傳類型 & 多選:① accept 屬性只能與 <input type="file" /> 配合使用。它規定能夠通過文件上傳進行提交的文件類型。 ② multiple 屬性規
Java web圖片上傳本地預覽,無需後臺寫介面
前言 本篇部落格為轉載,由於目前很多上傳圖片預覽的外掛都需要Java後臺寫方法先獲取選擇圖片的介面,這個外掛不需要。 下載外掛地址 http://jquery.decadework.com/ 原作者部落格地址 http://zhouxiang.decadework.com
前端H5實現多圖片上傳並預覽
多檔案上傳並預覽 利用input 的type='file" 可以實現檔案的上傳,不過只支援單個檔案上傳。只有給input加上multiple屬性才能實現多個檔案同時上傳。 好了,下面我們來實現一個簡單的多圖片上傳並預覽的例子 <div class="input-file-box
圖片上傳前預覽演示
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>圖片上傳前預覽演示</title> <script src="http://cdn
用原生JS實現多張圖片上傳及預覽功能(相容IE8)
最近需要做一個圖片上傳預覽的功能(相容IE8-11、chrome、firefox等瀏覽器),網上現有的檔案上傳元件(如webuploader)總是會遇到一些相容性問題。於是我參考了一些博文(連結找不到了⊙o⊙…),自己用原生JS寫了一個支援多張圖片上傳預覽功能的Demo 先通過最終效果看一下功能:
JQuery Ajax實現圖片上傳並預覽
本文通過使用 JQuery 、AjaxUpload非同步頭像上傳並實現實時預覽** 效果預覽如下 如果上傳圖片後,專案圖片資料夾不能顯示上傳圖片,頁面也不能展示圖片,手動重新整理後就能看到,解決方法: 需要自己設定Myeclipse : Window---->Prefe
用viewpager實現圖片與視訊混輪播
主要參考https://blog.csdn.net/chengxu_hou/article/details/78144607 不同之處在於我用的 JCVideoPlayer播放視訊,參考的博主用的是VideoView播放視訊的,主要邏輯與思路,參考上篇部落格博主。 程式碼其實不難理解:禁用了