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

JavaScript 實現(xiàn)點擊關(guān)閉全屏示例詳解

 更新時間:2022年08月26日 08:58:24   作者:Jimmy  
這篇文章主要為大家介紹了JavaScript 實現(xiàn)點擊關(guān)閉全屏示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

今天,我們來探討的問題是:

當(dāng)點擊圖片的時候,我們需要其全屏展示,當(dāng)我們再次點擊的時候,圖片退出全屏播放。

PS: 我們退出全屏播放的情況一般是按 esc 退出。圖片可以延伸到任何的 DOM 節(jié)點

在文末,我會將問題升級,留一個題目給讀者思考??

圖片全屏,這個跟文章全屏的效果一樣,比如下面的文章全屏:

就是一個元素鋪平整個屏幕

思路

那么,問題我們知道了。解決問題的思路是怎么樣的呢?

  • 我們獲取到圖片元素的 DOM 節(jié)點
  • 我們調(diào)用全屏的函數(shù)進行全屏展示
  • 瀏覽器監(jiān)聽點擊事件,當(dāng)圖片是全屏的狀態(tài),再次點擊圖片的時候,調(diào)用函數(shù)退出全屏

好了,思路有了,我們來實現(xiàn)下。

具體實現(xiàn)

假設(shè)我們有 html 代碼如下:

<img id="image" src="path/to/image.postfix" alt="img" />

現(xiàn)在我們編寫下 javascript 代碼。

// 退出全屏
ngAfterViewInit() {
  const image = document.getElementById('image');
  image.addEventListener('click', (event: any) => {
    if(document.fullscreenElement === image) {
      document.exitFullscreen();
    }
    event.preventDefault();
  })
}
// 全屏查看
public fullscreenView(): void {
  const image = document.getElementById('image');
  image.requestFullscreen()
} 

這里我用了 typescript 來編寫

當(dāng)然,上面的代碼并沒有考慮相關(guān)的兼容性。

requestFullscreen 和 exitFullscreen 方法對現(xiàn)代的瀏覽器支持還是很可以的,在 PC 端上展示毫無壓力。

但是,我們還是得對代碼進行瀏覽器兼容寫法:

這里我新建了個 utils.ts 的文件:

export class Utils {
  public static gotoFullscreen(dom: any): void {
    if (dom.requestFullscreen) {
      dom.requestFullscreen()
    } else if (dom.mozRequestFullScreen) {
      dom.mozRequestFullScreen()
    } else if (dom.webkitRequestFullscreen) {
      dom.webkitRequestFullscreen()
    } else if (dom.msRequestFullscreen) {
      dom.msRequestFullscreen()
    } else {
      console.error('當(dāng)前瀏覽器不支持部分全屏!')
    }
  }
  public static exitFullscreen(dom: any): void {
    if (dom.exitFullscreen) {
      dom.exitFullscreen()
    } else if (dom.webkitExitFullscreen) {
      dom.webkitExitFullscreen()
    } else if (dom.msExitFullscreen) {
      dom.msExitFullscreen()
    }
  }
}

上面兩個方法都是靜態(tài)方法,調(diào)用方式 類名.靜態(tài)方法,比如:Utils.gotoFullscreen(dom)。

問題升級

單點擊圖片,我們需要其全屏展示。然后設(shè)置全屏?xí)r候,右上角有一個退出的按鈕。點擊退出按鈕,退出全屏展示。

感興趣的讀者可以先自己嘗試下。

這里我給出簡單的思路,可以作為參考。

1. 設(shè)定布局,將一個 div 包裹圖片

2. 在 div 中設(shè)置一個按鈕的元素 button,并對 button 進行 css 布局

3. 在圖片全屏的時候,顯示 button,并對 button 進行按鈕事件(調(diào)用退出全屏的函數(shù))

以上就是JavaScript 實現(xiàn)點擊關(guān)閉全屏示例詳解的詳細(xì)內(nèi)容,更多關(guān)于JavaScript 點擊關(guān)閉全屏的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Electron?網(wǎng)絡(luò)攔截實戰(zhàn)示例詳解

    Electron?網(wǎng)絡(luò)攔截實戰(zhàn)示例詳解

    這篇文章主要為大家介紹了Electron?網(wǎng)絡(luò)攔截實戰(zhàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-03-03
  • JavaScript實現(xiàn)余額數(shù)字滾動效果

    JavaScript實現(xiàn)余額數(shù)字滾動效果

    這篇文章主要介紹了JavaScript實現(xiàn)余額數(shù)字滾動效果,將傳入的帶滾動的n位數(shù)字拆分成每一個要滾動的數(shù),然后動態(tài)的創(chuàng)建裝著滾動到每一位相應(yīng)數(shù)字的容器,然后放入傳入的目標(biāo)容器中,更多詳細(xì)內(nèi)容,一起進入下面文章學(xué)習(xí)吧
    2021-12-12
  • 微信小程序 后臺登錄(非微信賬號)實例詳解

    微信小程序 后臺登錄(非微信賬號)實例詳解

    這篇文章主要介紹了微信小程序 后臺登錄(非微信賬號)實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-03-03
  • 解析Clipboard?API剪貼板操作實例

    解析Clipboard?API剪貼板操作實例

    這篇文章主要為大家介紹了解析Clipboard?API剪貼板操作實例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • JS仿照3D手辦模型展臺實現(xiàn)示例詳解

    JS仿照3D手辦模型展臺實現(xiàn)示例詳解

    這篇文章主要為大家介紹了JS 實現(xiàn)偽3D手辦模型展臺示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • TS 類型兼容教程示例詳解

    TS 類型兼容教程示例詳解

    這篇文章主要為大家介紹了TS 類型兼容教程示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • 關(guān)于JavaScript?中?if包含逗號表達(dá)式

    關(guān)于JavaScript?中?if包含逗號表達(dá)式

    這篇文章主要介紹了?關(guān)于JavaScript?中?if包含逗號表達(dá)式,有時會看到JavaScript中if判斷里包含英文逗號?“,”,這個是其實是逗號表達(dá)式。在if條件里,只有最后一個表達(dá)式起判斷作用。下面來看看文章的具體介紹吧
    2021-11-11
  • 微信小程序 緩存(本地緩存、異步緩存、同步緩存)詳解

    微信小程序 緩存(本地緩存、異步緩存、同步緩存)詳解

    這篇文章主要介紹了微信小程序 緩存(本地緩存、異步緩存、同步緩存)詳解的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • 微信小程序 chooseImage選擇圖片或者拍照

    微信小程序 chooseImage選擇圖片或者拍照

    這篇文章主要介紹了微信小程序 chooseImage選擇圖片或者拍照的相關(guān)資料,需要的朋友可以參考下
    2017-04-04
  • 為輸入框加入數(shù)字js校驗代碼分享

    為輸入框加入數(shù)字js校驗代碼分享

    這篇文章主要介紹了為輸入框加入數(shù)字js校驗代碼分享,還是比較不錯的,這里分享給大家,供需要的朋友參考。
    2017-11-11

最新評論

乐陵市| 富源县| 安远县| 丹凤县| 五原县| 六安市| 藁城市| 运城市| 牡丹江市| 五指山市| 台州市| 邓州市| 中山市| 柳江县| 白河县| 温泉县| 托克逊县| 天长市| 台北县| 五华县| 双牌县| 周至县| 偃师市| 沾化县| 林甸县| 房山区| 仲巴县| 五常市| 且末县| 会泽县| 三都| 江孜县| 洛南县| 河间市| 新野县| 巴青县| 龙海市| 宜兰市| 历史| 江油市| 克东县|