亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

React自定義視頻全屏按鈕實現(xiàn)全屏功能

 更新時間:2022年11月03日 17:20:18   作者:柒留心  
這篇文章主要介紹了React自定義視頻全屏按鈕實現(xiàn)全屏功能,通過繪制全屏按鈕,并綁定點擊事件,編寫點擊事件,通過實例代碼給大家詳細講解,需要的朋友可以參考下

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔

前言

React自定義視頻全屏按鈕,實現(xiàn)全屏功能。

一、繪制全屏按鈕

繪制全屏按鈕,并綁定點擊事件:

render() {
    return (
          <div className={'fullfrequency'}>
          <img src={require("./全屏.png") } id="picts" onClick={this.fullScreen} alt="" title="全屏"/>
          </div>
    );
  }

二、編寫點擊事件

定義全屏標識變量

  this.state = {
      isFullScreen: false//初始為未開啟全屏
  }

編寫fullScreen點擊事件函數(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","全屏");
    }
};

三、編寫相關函數(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)聽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)聽

componentDidMount() {
this.watchFullScreen();  
}

到此這篇關于React自定義視頻全屏按鈕的文章就介紹到這了,更多相關React自定義按鈕內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • React Native第三方平臺分享的實例(Android,IOS雙平臺)

    React Native第三方平臺分享的實例(Android,IOS雙平臺)

    本篇文章主要介紹了React Native第三方平臺分享的實例(Android,IOS雙平臺),具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • 編寫簡潔React組件的小技巧

    編寫簡潔React組件的小技巧

    這篇文章主要介紹了編寫簡潔React組件的小技巧,幫助大家更好的理解和學習使用React,感興趣的朋友可以了解下
    2021-04-04
  • React嵌套組件的構建順序

    React嵌套組件的構建順序

    這篇文章主要介紹了React嵌套組件的構建順序,幫助大家更好的理解和學習使用React,感興趣的朋友可以了解下
    2021-04-04
  • react-dnd?API拖拽工具詳細用法示例

    react-dnd?API拖拽工具詳細用法示例

    這篇文章主要為大家介紹了react-dnd?API拖拽工具的詳細用法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Rust中Trait的使用

    Rust中Trait的使用

    在Rust中,Trait是一個核心概念,它允許我們定義類型應該具有的行為,本文就來具體介紹一下Rust中Trait的使用,感興趣的可以了解一下,感興趣可以了解一下
    2024-03-03
  • React路由封裝的實現(xiàn)淺析

    React路由封裝的實現(xiàn)淺析

    路由是React項目中相當重要的概念,對于功能較為復雜的網(wǎng)頁來說,必然會涉及到不同功能間的頁面跳轉(zhuǎn),本篇文章將對React官方維護的路由庫React-Router-Dom的使用和常用組件進行講解,同時對路由組件傳遞param參數(shù)的方式進行講解,希望對各位讀者有所參考
    2022-08-08
  • React中setState的使用與同步異步的使用

    React中setState的使用與同步異步的使用

    這篇文章主要介紹了React中setState的使用與同步異步的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-03-03
  • react hooks入門詳細教程

    react hooks入門詳細教程

    這篇文章主要介紹了react hooks入門詳細教程,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 一文帶你深入理解React中的Context

    一文帶你深入理解React中的Context

    React?Context是React提供給開發(fā)者的一種常用的狀態(tài)管理機制,本文主要來和大家講講為什么需要Context,又是如何使用Context的,感興趣的可以了解一下
    2023-05-05
  • React Agent 自定義實現(xiàn)代碼

    React Agent 自定義實現(xiàn)代碼

    在使用langchain的ReactAgent遇到問題后,作者嘗試自定義ReactAgent實現(xiàn),通過詳細分析langchain中的agent功能和問題,結合React思想,作者設計了新的agent邏輯并在GitHub上分享了代碼,新的ReactAgent通過改進prompt和工具調(diào)用邏輯,提升了任務執(zhí)行的效果和穩(wěn)定性
    2024-10-10

最新評論