網頁視訊輪播video
最近,在專案的實際開發中,有遇到UI設計的視訊輪播的效果,在實際解決之前,在網上查找了相關資料,有看到一篇CDSN的部落格,有所啟發,現根據實際遇到的問題,做如下記錄。
一、例項相關情況介紹
參考的例項效果如下所示:
首先,總共有5個視訊進行展示,點選左右按鈕可以進行輪播切換,當前視訊始終位於最上層,並且居中顯示,div尺寸最大,第二層尺寸縮小,第三層再縮小顯示。
二、運用的例項程式碼
<div class="teaching-video"> <div class="tea-video-title"> <div class="tea-video-h1 text-center"><img src="images/tv2.png" style="width:47px;height:49px;"> 教學視訊</div> <h3 class="tea-video-h3 text-center">雄厚的師資力量是選擇教育機構的重要因素</h3> </div> <div class="tea-video-cont"> <div class="video"> <div></div> <div> <ul> <li class="video1"><div><video preload="none" controls loop><source src="video/456.mp4"></source>您的瀏覽器不支援HTML5視訊播放,請升級瀏覽器。</video><h3></h3></div></li> <li class="video2"><div><video preload="none" controls loop><source src="video/456.mp4"></source>您的瀏覽器不支援HTML5視訊播放,請升級瀏覽器。</video><h3></h3></div></li> <li class="video3"><div><video preload="none" controls loop autoplay><source src="video/456.mp4"></source>您的瀏覽器不支援HTML5視訊播放,請升級瀏覽器。</video><h3></h3></div></li> <li class="video4"><div><video preload="none" controls loop><source src="video/456.mp4"></source>您的瀏覽器不支援HTML5視訊播放,請升級瀏覽器。</video><h3></h3></div></li> <li class="video5"><div><video preload="none" controls loop><source src="video/456.mp4"></source>您的瀏覽器不支援HTML5視訊播放,請升級瀏覽器。</video><h3></h3></div></li> </ul> </div> <div></div> </div> </div> </div>
.teaching-video{ background-color:#ffffff; padding-top:50px; padding-bottom:50px; } .teaching-video .tea-video-title{ margin:20px auto 50px; } .teaching-video .tea-video-title .tea-video-h1{ font-size:30px; color:#ef7700; height:50px; line-height:50px; } .teaching-video .tea-video-title .tea-video-h3{ font-size:16px; color:#666666; } .teaching-video .tea-video-cont{ margin-bottom:50px; } .teaching-video li{list-style: none;} .video{width:1200px;margin:0 auto;overflow: hidden;zoom:1;background: #ffffff;} .video>div{float: left;height: 400px;} .video>div:first-child {width: 5%;background: url(../images/video-btn-l.png) center center no-repeat;} .video>div:last-child {width: 5%;background: url(../images/video-btn-r.png) center center no-repeat;} .video>div:nth-of-type(2){width: 90%;} .video ul{position: relative;} .video li{transition: all .6s; position: absolute;background: url(../images/video-bg.png) center center no-repeat;background-size: 100% 100%;} /*.video li>div{padding: 1% 1% 4%;}*/ .video li video{width:100%;height:100%;} .video li h3{text-align: center;margin-top: 2px;color: #1766d7;} .video li:nth-of-type(1) video{background: url(../images/video03.jpg) no-repeat;background-size: cover;} .video li:nth-of-type(2) video{background: url(../images/video01.jpg) no-repeat;background-size: cover;} .video li:nth-of-type(3) video{background: url(../images/video02.jpg) no-repeat;background-size: cover;} .video li:nth-of-type(4) video{background: url(../images/video03.jpg) no-repeat;background-size: cover;} .video li:nth-of-type(5) video{background: url(../images/video01.jpg) no-repeat;background-size: cover;} .video1{width: 200px;height: 100px; top: 143px;left: 0; z-index: 1;}/*建立5個播放框初始位置類,可自行更改*/ .video2{width: 400px;height: 200px; top: 86px;left: 90px; z-index: 2;} .video3{width: 700px;height: 350px; top: 0px;left: 190px; z-index: 3;} .video4{width: 400px;height: 200px; top: 86px;left: 590px; z-index: 2;} .video5{width: 200px;height: 100px; top: 143px;left: 880px; z-index: 1;}
<script type="text/javascript"> $(function(){ var click=0; var right=0; //解決第一次右邊點選沒反應 $('.video>div:first-child').click(function(){ //當點選左邊按鈕 for(var i=0; i<5; i++){ document.getElementsByTagName('video')[i].pause();} click+=1; if(click>=6)click=1; right=1; $('.video li:nth-of-type('+(((click+0)<=5) ? (click+0) : (click+0-5))+')').attr('class','video5'); $('.video li:nth-of-type('+(((click+1)<=5) ? (click+1) : (click+1-5))+')').attr('class','video1'); $('.video li:nth-of-type('+(((click+2)<=5) ? (click+2) : (click+2-5))+')').attr('class','video2'); $('.video li:nth-of-type('+(((click+3)<=5) ? (click+3) : (click+3-5))+')').attr('class','video3'); $('.video li:nth-of-type('+(((click+4)<=5) ? (click+4) : (click+4-5))+')').attr('class','video4'); }) $('.video>div:last-child').click(function(){ //當點選右邊按鈕 for(var i=0; i<5; i++){ document.getElementsByTagName('video')[i].pause();} click-=1; if(click<=0)click=5; if(!right)click=4; //解決第一次右邊點選沒反應 right=1; $('.video li:nth-of-type('+(((click+0)<=5) ? (click+0) : (click+0-5))+')').attr('class','video5'); $('.video li:nth-of-type('+(((click+1)<=5) ? (click+1) : (click+1-5))+')').attr('class','video1'); $('.video li:nth-of-type('+(((click+2)<=5) ? (click+2) : (click+2-5))+')').attr('class','video2'); $('.video li:nth-of-type('+(((click+3)<=5) ? (click+3) : (click+3-5))+')').attr('class','video3'); $('.video li:nth-of-type('+(((click+4)<=5) ? (click+4) : (click+4-5))+')').attr('class','video4'); }) }) </script>
三、總結
在實際測試的時候,發現當頁面內容較多時,遊覽器載入完頁面的視訊區域時,視訊就會自動播放,使用者體驗不是很好。在查閱資料的時候,發現採用預載入模式時,可以改善。(預載入的好處:因為等你播放的時候,會出現一段時間黑屏效果不是很好,採用預載入的方式,等到播放的時候就直接播放就可以了,伺服器不處理的話,視訊會等到全部下載完之後才會播放。)
關於視訊存放的方式:
①視訊存放在自己的伺服器上
這也是我實際採用的方式,根據實際情況,這種方案適用於視訊較小的情況下,可以採用預載入的模式;
②採用第三方網站進行託管視訊
這種適用於視訊較大,但是使用量較小的情況,因為廣告的問題,所以我們要在第三方視訊網站進行開發者認證,這樣就可以去掉首頁的廣告,視訊所需的後端服務就由第三方網站進行提供,它們把視訊進行轉碼,分片傳輸等,但是如果視訊比較多,就得自己做後端服務了。
如果大家有更簡便的方法,歡迎留言交流,感謝指點。如文章哪裡有問題,歡迎大家進行指正。
相關推薦
網頁視訊輪播video
最近,在專案的實際開發中,有遇到UI設計的視訊輪播的效果,在實際解決之前,在網上查找了相關資料,有看到一篇CDSN的部落格,有所啟發,現根據實際遇到的問題,做如下記錄。一、例項相關情況介紹 參考的例項效果如下所示: 首先,總共有5個視訊進行展示,
H5頁面中的視訊輪播(類似於banner輪播圖效果)
先說下我的需求,如下圖: 手機模型中間部分是視訊播放,當一條視訊播放完畢後,整屏會自動上滑切換到下一個視訊。 提起輪播,我們看到的最多的就是banner輪播圖,而提起輪播圖,我會馬上想起用Swiper。 一開始為了快速開發,就想著用swiper來實
3D視訊輪播外掛——web前端
網上找了很多3D視訊輪播外掛,不是樣式不合適,就是程式碼太繁瑣。自己利用CSS3動畫transition編寫的3D視訊輪播外掛。 IE9開始才支援transition,所以只有在非IE瀏覽器、IE大於8才顯示整個外掛,IE6、E7、E8不顯示。video標籤新增preloa
小程式 圖片+視訊輪播
index.wxml <swiper class="swiper" indicator-dots="true" autoplay="{{flag}}" interval="5000" duration="1000"> <bl
swiper輪播中嵌入video視訊,安卓機相容處理
專案中使用swiper外掛巢狀video標籤 正常的swiper外掛裡面巢狀video標籤,如下寫法就夠了,在ios 和PC端上完全沒有問題,但是在安卓機上,播放視訊後,視訊的層級會居上,覆蓋住下面的層,導致左右滑塊被遮擋,並且滑動video標籤也無法滑動。
為網頁添加動態背景 (背景輪播)
head over ima 切換效果 圖片 css div ext title 為網頁添加動態背景 (背景輪播) 設置網頁背景 <!doctype html> <html lang="en"> <head> <met
移動端和網頁端公告欄文字左右輪播滑動
效果:一進入頁面,文字從右向左滑動,第一段文字滑到左端消失後,第二段才開始出現,就這樣飄飄飄,最後一個在左端消失後,第一段接著來。 思路: css樣式—外面有個固定的框框,需要輪播的文字寫在ul>li裡面,ul設定相對它的父級定位並且有固定寬高,li設定外邊距。 js部分—改
QML實現網頁左右滑動的輪播圖效果
網頁中有很多的左右滑動的圖片輪動的效果。QML實現此效果的兩種方式。 PageIndicator和TabBar 也對應兩種樣式。 其中左右滑動的動畫效果是利用SwipeView的預設切換動畫效果 import QtQuick 2.9 import QtQuick.Controls 2.
輪播 網頁介面卡........
<主介面> public class BannerAdapter extends PagerAdapter { private List<ImageView> imageViewList; pu
輪播 網頁 結合使用.......
<佈局> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/
視訊和圖片輪播廣告欄,商品詳情輪播
網上弄了個輪播視訊的基礎demo滑動可能有點小問題請自行修改 視訊+圖片輪播 1.Banner中的init方法中替換: LayoutInflater inflater = LayoutInflater.from(getContext()); View view=
用viewpager實現圖片與視訊混輪播
主要參考https://blog.csdn.net/chengxu_hou/article/details/78144607 不同之處在於我用的 JCVideoPlayer播放視訊,參考的博主用的是VideoView播放視訊的,主要邏輯與思路,參考上篇部落格博主。 程式碼其實不難理解:禁用了
使用jQuery快速高效製作網頁互動特效 第五章 上機練習四 製作廣告圖片輪播切換效果
輪播應有的功能大致都有,分享給一些在學的朋友參考學習。 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title> 廣告圖片輪播切
仿淘寶商品詳情頁[帶有視訊和圖片的輪播功能]
因為工作需求的原因,自己寫了一個demo,既實現了功能,又能與大家分享,很高興!Demo已上傳GitHub,https://github.com/xinniangdeweidao/CloneTaobaoProductsDetails.git 轉載請註明出處,謝謝!
Android 廣告(banner)圖片輪播、圖片瀏覽、仿微信大圖檢視控制元件(支援視訊和gif圖片)、支援動態新增資料
之前專案需要做個仿微信檢視大圖,需要新增圓形下載進度,支援視訊和圖片切換等一系列功能控制元件,自己抽空把開發的自定義控制元件的成果重新構造、整理處理封裝成庫(aar),提供出來,有需要朋友,歡迎使用,如果有什麼建議歡迎留言或者GitHub上提issues
android中無限輪播圖的實現(程式碼+文章+視訊)
Android開發中無限輪播圖的實現 前面在我們的論壇裡頭看到有同學們提問,怎麼樣去實現無限輪播。所以晚上回來就錄製了視訊了! 實現方式 最簡單的方式,就是使用viewpager來實現咯! 我們一開始只是實現圖片在viewPager上面可以滑動起
網頁嵌入快播播放器並實現伺服器視訊檔案連續播放
上篇我們在網頁中(html、jsp、php)嵌入了快播播放器,嵌入程式碼如下: <object classid="clsid:F3D0D36F-23F8-4682-A195-74C92B03D4AF" width="560" height="420" id="Qvo
微信小程式含視訊元件的banner輪播使用心得
背景描述: 1、產品需要banner類似京東app詳情頁中banner,第一個swiper-item為視訊,後面的swiper-item為圖片。 2、video元件是由客戶端建立的原生元件,它的層級是最高的,不能通過 z-index 控制層級。微信官方已經說明video元件層
iOS開發筆記 -- 視訊與圖片的混合輪播
專案需求:產品詳情頁的輪播圖做成視訊與圖片的混合輪播,類似於淘寶的介面,第一個圖為產品的視訊介紹,其餘為圖片介紹,本篇 demo demo預覽圖 思路: 1、輪播圖我們可以用UICollectionView或者是UIScrollView來實現,本
iOS之懸浮檢視:按鈕/圖片/輪播圖/gif圖/視訊/音訊/自定義view
我自定義個 LCSuspendCustomView繼承UIView 在這個View中我添加了按鈕(UIButton),圖片(UIImageView),GIF圖(UIWebView)到檢視上. 重寫了touchsbegan:/touchsMoved:/touchsEnded:三個方法.如下: - (void)