搜尋
首頁web前端css教學css如何實現幻燈片效果?投影片的實作方法(程式碼範例)

這篇文章帶給大家的內容是介紹css如何達成投影片效果?投影片的實作方法(程式碼範例)。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

下面我們就透過程式碼來一步步實現幻燈片切換(淡入淡出)的效果:

1、建立html文件,寫demo

首先我們要在頁面上設定圖片列表,包含在div盒子中。類似於以下內容:

<div id="stage">
	<a href="img/css如何實現幻燈片效果?投影片的實作方法(程式碼範例)"><img  src="/static/imghwm/default1.png"  data-src="img/css如何實現幻燈片效果?投影片的實作方法(程式碼範例)"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/2.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/2.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/3.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/3.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/4.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/4.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/5.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/5.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/6.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/6.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/7.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/7.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
	<a href="img/8.jpg"><img  src="/static/imghwm/default1.png"  data-src="img/8.jpg"  class="lazy"      style="max-width:90%"  style="max-width:90%" alt="css如何實現幻燈片效果?投影片的實作方法(程式碼範例)" ></a>
</div>

在此範例中,所有圖像都有鏈接,但這不是必需的。如果你刪除鏈接,你只需要改變一些CSS和JavaScript來引用'img'而不是'a'。

2、使用CSS來疊加圖像

以下是我們用於以下示範的CSS程式碼:

#stage {
    margin: 1em auto;
    width: 382px;
    height: 292px;
  }

  #stage a {
    position: absolute;
  }
  #stage a img {
    padding: 10px;
    border: 1px solid #ccc;
    background: #fff;
  }

  #stage a:nth-of-type(1) {
    animation-name: fader;
    animation-delay: 4s;
    animation-duration: 1s;
    z-index: 20;
  }
  #stage a:nth-of-type(2) {
    z-index: 10;
  }
  #stage a:nth-of-type(n+3) {
    display: none;
  }

  @keyframes fader {
    from { opacity: 1.0; }
    to   { opacity: 0.0; }
  }

透過將連結設置為position:absolute,我們將所有影像從文件流中取出並將它們堆疊在一起。然後,我們需要為#stage指定寬度和高度, 以便為投影片顯示在頁面上保留空間。這等於圖像尺寸加上填充(每邊10px)和邊框(每邊1px)。

然後,我們使用一些nth-of-type()選擇器將第一個圖像放在堆疊頂部,第二個圖像放在堆疊的後面,其餘圖像隱藏在顯示器之外。

最後,我們將動畫關鍵影格分配給頂部圖像,告訴它在設定opacity:0,淡出之前等待4秒。現在所缺少的只是一點JavaScript來將面對的影像移到堆疊的底部,以便下一個影像可以依序顯示和淡出。

3、使用JavaScript來觸發效果

這裡需要的只是為keyframe 動畫結束時觸發的圖像分配事件處理程序。它需要最重要的照片,並把它移到後面:

window.addEventListener("DOMContentLoaded", function(e) {
    var stage = document.getElementById("stage");
    var fadeComplete = function(e) { stage.appendChild(arr[0]); };
    var arr = stage.getElementsByTagName("a");
    for(var i=0; i < arr.length; i++) {
      arr[i].addEventListener("animationend", fadeComplete, false);
    }

  }, false);

最上面的新圖像現在假設為nth-of-type(1)屬性,包括關鍵幀動畫--fader,依此類推其他圖像。

就是這樣!沒有臃腫的程式碼,沒有插件,沒有函式庫,只有幾行vanilla JavaScript可以在所有現代瀏覽器中使用。

4、效果圖:

執行以上程式碼就可以獲得一個簡單的淡入淡出投影片:

css如何實現幻燈片效果?投影片的實作方法(程式碼範例)

總結:以上就是這篇文章所實現的淡入淡出幻燈片效果,大家可以自己動手試試,加深理解,希望能對大家的學習有所幫助。

以上是css如何實現幻燈片效果?投影片的實作方法(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
兩個圖像和一個API:我們重新著色產品所需的一切兩個圖像和一個API:我們重新著色產品所需的一切Apr 15, 2025 am 11:27 AM

我最近找到了一種動態更新任何產品圖像的顏色的解決方案。因此,只有一種產品之一,我們可以以不同的方式對其進行著色以顯示

每周平台新聞:第三方代碼,被動混合內容,連接最慢的國家的影響每周平台新聞:第三方代碼,被動混合內容,連接最慢的國家的影響Apr 15, 2025 am 11:19 AM

在本週的綜述中,燈塔在第三方腳本上闡明了燈光,不安全的資源將在安全站點上被阻止,許多國家連接速度

託管您自己的非JavaScript分析的選項託管您自己的非JavaScript分析的選項Apr 15, 2025 am 11:09 AM

有很多分析平台可幫助您跟踪網站上的訪問者和使用數據。也許最著名的是Google Analytics(廣泛使用)

它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭它全部都在頭上:管理帶有React頭盔的React Power Site的文檔頭Apr 15, 2025 am 11:01 AM

該文檔負責人可能不是網站上最迷人的部分,但是其中所處的內容對於您的網站的成功也一樣重要

JavaScript中的Super()是什麼?JavaScript中的Super()是什麼?Apr 15, 2025 am 10:59 AM

當您看到一些稱為super()的JavaScript時,在子類中,您會使用super()調用其父母的構造函數和超級。訪問它

比較不同類型的本機JavaScript彈出窗口比較不同類型的本機JavaScript彈出窗口Apr 15, 2025 am 10:48 AM

JavaScript具有各種內置彈出API,它們顯示用於用戶交互的特殊UI。著名:

為什麼可訪問的網站如此難以構建?為什麼可訪問的網站如此難以構建?Apr 15, 2025 am 10:45 AM

前幾天,我與一些前端人們聊天,講述了為什麼這麼多公司努力創建可訪問的網站。為什麼可訪問的網站如此艱難

'隱藏”屬性顯然很弱'隱藏”屬性顯然很弱Apr 15, 2025 am 10:43 AM

有一個HTML屬性,它可以正是您認為應該做的:

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
4 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.聊天命令以及如何使用它們
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具