React自定義視頻全屏按鈕實(shí)現(xiàn)全屏功能
提示:文章寫完后,目錄可以自動(dòng)生成,如何生成可參考右邊的幫助文檔
前言
React自定義視頻全屏按鈕,實(shí)現(xiàn)全屏功能。
一、繪制全屏按鈕
繪制全屏按鈕,并綁定點(diǎn)擊事件:
render() { return ( <div className={'fullfrequency'}> <img src={require("./全屏.png") } id="picts" onClick={this.fullScreen} alt="" title="全屏"/> </div> ); }
二、編寫點(diǎn)擊事件
定義全屏標(biāo)識(shí)變量
this.state = { isFullScreen: false//初始為未開(kāi)啟全屏 }
編寫fullScreen點(diǎn)擊事件函數(shù):
fullScreen = () => { var picts = document.getElementById("picts"); if (!this.state.isFullScreen) { this.requestFullScreen(); picts.setAttribute("src",require("./取消全屏.png"));//全屏按鈕變換 picts.setAttribute("title","退出全屏"); } else { this.exitFullscreen(); picts.setAttribute("src",require("./全屏.png"));//全屏按鈕變換 picts.setAttribute("title","全屏"); } };
三、編寫相關(guān)函數(shù)
編寫requestFullScreen函數(shù)
requestFullScreen = () => { var de = document.documentElement; if (de.requestFullscreen) { de.requestFullscreen(); } else if (de.mozRequestFullScreen) { de.mozRequestFullScreen(); } else if (de.webkitRequestFullScreen) { de.webkitRequestFullScreen(); } };
編寫exitFullscreen函數(shù)
exitFullscreen = () => { var de = document; if (de.exitFullscreen) { de.exitFullscreen(); } else if (de.mozCancelFullScreen) { de.mozCancelFullScreen(); } else if (de.webkitCancelFullScreen) { de.webkitCancelFullScreen(); } };
編寫監(jiān)聽(tīng)fullscreen變化事件
watchFullScreen = () => { const _self = this; document.addEventListener( "webkitfullscreenchange", function() { _self.setState({ isFullScreen: document.webkitIsFullScreen }); }, false ); document.addEventListener( "fullscreenchange", function() { _self.setState({ isFullScreen: document.fullscreen }); }, false ); document.addEventListener( "mozfullscreenchange", function() { _self.setState({ isFullScreen: document.mozFullScreen }); }, false ); };
在componentDidMount鉤子上掛在監(jiān)聽(tīng)
componentDidMount() { this.watchFullScreen(); }
到此這篇關(guān)于React自定義視頻全屏按鈕的文章就介紹到這了,更多相關(guān)React自定義按鈕內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- React videojs 實(shí)現(xiàn)自定義組件(視頻畫質(zhì)/清晰度切換) 的操作代碼
- React+TS+IntersectionObserver實(shí)現(xiàn)視頻懶加載和自動(dòng)播放功能
- react-native 封裝視頻播放器react-native-video的使用
- react-player實(shí)現(xiàn)視頻播放與自定義進(jìn)度條效果
- React中使用react-player 播放視頻或直播的方法
- react-native-video實(shí)現(xiàn)視頻全屏播放的方法
- react中實(shí)現(xiàn)將一個(gè)視頻流為m3u8格式的轉(zhuǎn)換
相關(guān)文章
React Native第三方平臺(tái)分享的實(shí)例(Android,IOS雙平臺(tái))
本篇文章主要介紹了React Native第三方平臺(tái)分享的實(shí)例(Android,IOS雙平臺(tái)),具有一定的參考價(jià)值,有興趣的可以了解一下2017-08-08React Agent 自定義實(shí)現(xiàn)代碼
在使用langchain的ReactAgent遇到問(wèn)題后,作者嘗試自定義ReactAgent實(shí)現(xiàn),通過(guò)詳細(xì)分析langchain中的agent功能和問(wèn)題,結(jié)合React思想,作者設(shè)計(jì)了新的agent邏輯并在GitHub上分享了代碼,新的ReactAgent通過(guò)改進(jìn)prompt和工具調(diào)用邏輯,提升了任務(wù)執(zhí)行的效果和穩(wěn)定性2024-10-10