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

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)閉全屏示例詳解的詳細內(nèi)容,更多關(guān)于JavaScript 點擊關(guān)閉全屏的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論