最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js實現(xiàn)視頻播放時屏幕顯示水印

 更新時間:2023年10月18日 08:24:22   作者:xxnobug  
這篇文章主要為大家詳細(xì)介紹了js如何實現(xiàn)視頻播放時屏幕顯示水印的效果,文中的示例代碼講解詳細(xì),對我們深入掌握js有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

需求描述:視頻在播放的時候能夠顯示當(dāng)前觀看人的姓名并隨機(jī)切換位置

內(nèi)心Os:這個加水印不是視頻剪輯工具的功能嗎 為啥要讓前端來寫 什么鬼[崩潰] 沒辦法崩潰歸崩潰 需求還得寫啊

思路:既然是在視頻播放的時候 那就跟video標(biāo)簽在同一級Dom中 用css定位來實現(xiàn)浮動在視頻之上 不就可以了? 有想法就干

上來我就是直接獲取video所在的Dom元素 因為我的video是包裹在class是videoPlayBox的div中 所以我先獲取到了video的父元素 然后在獲取父元素中下屬元素

let div = document.getElementById("videoPlayBox");
let divChild = div.firstChild;

創(chuàng)建一個容納水印數(shù)據(jù)的Dom元素并給他樣式

var appDom = document.createElement("div");
  // appDom.id = "userName";//給這個元素設(shè)置id
  // appDom.setAttribute("class", "watermarkClass");//給這個元素設(shè)置類名
  // 你也可以直接就是行內(nèi)樣式
     appDom.style.cssText = `position:absolute;top:${this.topValue}px;left:${this.leftvalue}px; color:rgb(192, 196, 204);font-size:20px;opacity:0.5;`;
  // 再給這個元素寫入要顯示的水印內(nèi)容
     appDom.innerText = text; // text就是你要顯示的內(nèi)容
  //插入元素
     divChild.appendChild(appDom);

這樣基本一個水印插入就完成了 下面就是實現(xiàn)隨機(jī)出現(xiàn)位置 都用position:absolute 肯定就是隨機(jī)改變top跟left就可以了 寫一個定時器 比如說2秒換一次位置

setInterval(() => {
  // 先獲取video所在區(qū)域的實際寬高 總不能直接讓這個定位離開這個所在區(qū)域把 
     let widthValue = document.getElementById("videoPlayBoxWapper").offsetWidth;
     let heightValue =document.getElementById("videoPlayBoxWapper").offsetHeight;
// 然后就是取隨機(jī)數(shù) 賦值給你剛才 top 跟 left 綁定的值
     this.leftvalue = widthValue * Math.random();
     this.topValue = heightValue * Math.random();
// 至此 基本就完事了  但是你運行起來后發(fā)現(xiàn) top 跟 left雖然改變了 但是頁面中卻沒有改變
     document.getElementById("userName").style.left = `${this.leftvalue}px`;
     document.getElementById("userName").style.top = `${this.topValue}px`;
 // 再加上這一步就完事了 
 }, 2000);

當(dāng)然當(dāng)定時運行的時候就要考慮到 多次觸發(fā)這個定時器 就會異步全部執(zhí)行 會導(dǎo)致出現(xiàn)的時間根本不是你設(shè)置的時間 所以你要在觸發(fā)這個方式的時候 先清除定時器 然后在執(zhí)行就會避免這個問題

if (this.timer != null) {
     clearInterval(this.timer);
  }
  this.timer =  setInterval(() => {
  // 先獲取video所在區(qū)域的實際寬高 總不能直接讓這個定位離開這個所在區(qū)域把 
     let widthValue = document.getElementById("videoPlayBoxWapper").offsetWidth;
     let heightValue =document.getElementById("videoPlayBoxWapper").offsetHeight;
// 然后就是取隨機(jī)數(shù) 賦值給你剛才 top 跟 left 綁定的值
     this.leftvalue = widthValue * Math.random();
     this.topValue = heightValue * Math.random();
// 至此 基本就完事了  但是你運行起來后發(fā)現(xiàn) top 跟 left雖然改變了 但是頁面中卻沒有改變
     document.getElementById("userName").style.left = `${this.leftvalue}px`;
     document.getElementById("userName").style.top = `${this.topValue}px`;
 // 再加上這一步就完事了 
 }, 2000);

到此這篇關(guān)于js實現(xiàn)視頻播放時屏幕顯示水印的文章就介紹到這了,更多相關(guān)js水印內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Echarts地圖實例詳解(地圖樣式、合并地圖、增加地圖)

    Echarts地圖實例詳解(地圖樣式、合并地圖、增加地圖)

    ECharts是一個使用JavaScript實現(xiàn)的開源可視化庫,涵蓋各行業(yè)圖表,滿足各種需求,下面這篇文章主要給大家介紹了關(guān)于Echarts地圖的相關(guān)資料,包括地圖樣式、合并地圖、增加地圖,需要的朋友可以參考下
    2022-06-06
  • JavaScript 作用域鏈解析

    JavaScript 作用域鏈解析

    一直對Js的作用域有點迷糊,今天偶然讀到Javascript權(quán)威指南,立馬被吸引住了,寫的真不錯。我看的是第六版本,相當(dāng)?shù)暮?,大?000多頁,Js博大精深,要熟悉精通需要大毅力大功夫。謝謝心得吧
    2014-11-11
  • JavaScript實現(xiàn)移動小精靈的案例代碼

    JavaScript實現(xiàn)移動小精靈的案例代碼

    這篇文章主要介紹了JavaScript實現(xiàn)移動小精靈的案例代碼,本文分步驟給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • 使用CSS3的scale實現(xiàn)網(wǎng)頁整體縮放

    使用CSS3的scale實現(xiàn)網(wǎng)頁整體縮放

    QQ郵箱的網(wǎng)頁整體縮放效果,原來實現(xiàn)方法如此簡單,下面有個實現(xiàn)示例,大家可以參考下
    2014-03-03
  • js如何實現(xiàn)點擊標(biāo)簽文字,文字在文本框出現(xiàn)

    js如何實現(xiàn)點擊標(biāo)簽文字,文字在文本框出現(xiàn)

    這篇文章主要介紹了js如何實現(xiàn)點擊標(biāo)簽文字,文字在文本框出現(xiàn),感興趣的小伙伴們可以參考下
    2015-08-08
  • JavaScript腳本實現(xiàn)解析MyBatis?SQL日志

    JavaScript腳本實現(xiàn)解析MyBatis?SQL日志

    這篇文章主要為大家詳細(xì)介紹了如何開發(fā)一個簡單的?HTML?和?JavaScript?腳本,用于解析?MyBatis?的?SQL?日志并生成可執(zhí)行的?SQL?語句,需要的可以參考下
    2025-02-02
  • javascript bom是什么及bom和dom的區(qū)別

    javascript bom是什么及bom和dom的區(qū)別

    BOM是瀏覽器對象模型,DOM是文檔對象模型,前者是對瀏覽器本身進(jìn)行操作,而后者是對瀏覽器(可看成容器)內(nèi)的內(nèi)容進(jìn)行操作。這篇文章給大家介紹javascript bom是什么及bom和dom的區(qū)別,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • Js 隨機(jī)數(shù)產(chǎn)生6位數(shù)字

    Js 隨機(jī)數(shù)產(chǎn)生6位數(shù)字

    Js隨機(jī)產(chǎn)生6為數(shù)字的代碼,需要的朋友可以參考下。
    2010-05-05
  • 高亮顯示web頁表格行的javascript代碼

    高亮顯示web頁表格行的javascript代碼

    本文從簡單的css高亮顯示表格的某一行說開去,探討了在不同瀏覽器下對于高亮功能的兼容性。闡述針對表格本身綁定javascript事件實現(xiàn)這一功能的方法。
    2010-11-11
  • JavaScript變量基本使用方法實例分析

    JavaScript變量基本使用方法實例分析

    這篇文章主要介紹了JavaScript變量基本使用方法,結(jié)合實例形式分析了JavaScript變量的類型、使用注意事項及命名規(guī)范,需要的朋友可以參考下
    2019-11-11

最新評論

钟祥市| 高雄市| 乌拉特前旗| 苏尼特右旗| 临西县| 水富县| 习水县| 江津市| 宁乡县| 丰原市| 昭苏县| 凤台县| 邳州市| 信宜市| 舒城县| 昭通市| 阳谷县| 霸州市| 安徽省| 宝兴县| 新邵县| 长乐市| 石狮市| 库伦旗| 台湾省| 浦县| 阜南县| 焦作市| 清丰县| 右玉县| 翼城县| 崇州市| 凌源市| 平南县| 台中市| 南漳县| 安西县| 塔河县| 峨眉山市| 永安市| 水富县|