1. 程式人生 > >網頁視訊輪播video

網頁視訊輪播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)