網頁輪播圖用js做,js輪播圖怎麼實現

本文目錄一覽:

js如何製作圖片輪播

工具/材料

Sublime Text

01

首先在Sublime Text下面準備一個html和5張圖片,圖片寬高為600px和400px,如下圖所示

02

然後在HTML頁面中布局輪播圖的結構,如下圖所示,主要包括圖片區域,圓形按鈕,左右箭頭

03

接下來需要給輪播圖頁面布局聲明一些樣式,請按照下圖所示的樣式代碼進行聲明

04

最後就是實現輪播圖的JS腳本功能,如下圖所示,主要包括前進,後退,自動播放的功能

05

最後運行頁面,你就會看到下圖所示的輪播圖效果,點擊圓圈或者左右箭頭可以切換輪播圖

JS製作輪播圖

輪播圖是每個網站中必不可少的元素,那麼如何用JS製作輪播圖呢?下面我就給大家分享一下。

工具/材料

Sublime Text

01

首先需要在Sublime中創建HTML文檔,然後在文檔的body區域中加入如下圖所示的輪播圖內容

02

然後我們需要在style標籤中給所添加的輪播圖內容聲明樣式,如下圖所示

03

接下來我們就需要在script標籤中實現輪播圖的動畫腳本內容了,如下圖所示,注意script標籤的type類型一定要是javascript

04

最後我們運行界面程序,你就會看到如下圖所示的輪播圖了,點擊左右的箭頭和中間的圓點都可以進行輪播圖的切換

js圖片輪播點擊

實現輪播圖思路

布局:

1. 使用 flex 布局使子元素水平排列;

2. 子元素寬度設置100%,flex-shrink 設置為 0(這個屬性保證子元素不被壓縮);

定時器無縫輪播:

輪播之前需要將首尾各添加一張圖片。其目的就是實現無縫輪播。

然後將父元素 left 向左移動一個屏幕寬度的距離。這樣才能讓第二張(因為首尾各添加了一張圖片,所以原先的第一張就變成了第二張)變成可視範圍的第一張。

輪播到最後一張圖片(這裡的最後一張指的是拼接的第一張)時;

①清除掉定時器;

②開啟臨界處理(重置父元素的left);

③開啟下一輪輪播。

這裡是實現無縫輪播的關鍵;其目的是播放最後一張的同時,與第一張偷梁換柱。因為最後一張與第一張圖片相同,所以快速地改變其 left 用戶並無感知。並且同時開啟下一輪定時器,1.5s 之後執行第二張圖片播放。而這個 1.5s 之內就好了準備(清除當前定時器,重置父元素 left)。

右邊按鈕點擊無縫輪播:

邏輯同定時器無縫輪播類似,因為方向都是從右向左播放。無縫輪播的核心都是播放到最後一張時偷梁換柱(播放最後一張圖片的1.5s 同時,改變父元素 left 成初始值,負數的屏幕寬度)。

左邊按鈕點擊無縫輪播:

左邊按鈕無縫輪播的核心與以上差不多,唯一的區別就是當播放到第一張圖片時,開始偷梁換柱(播放第一張圖片的1.5s 同時,改變父元素 left 成最大值,負數的(屏幕寬度*(子元素個數-2)))。

指示燈點擊無縫輪播:

點擊第一張圖片時,同左邊按鈕點擊無縫輪播。點擊最後一張圖片時,同右邊按鈕點擊無縫輪播。

js裡面可以寫輪播圖嗎?

當然可以,css3就可以寫輪播,只不過js寫的輪播圖兼容性更好,使用順暢。

js實現輪播圖主要是搞懂原理,還有js知識就OK啦

圖片切換 是index值切換

換下一張 按鈕實現功能

到最後一張回到第一張

第一張往上翻回到最後一張

寫效果就OK啦

網頁設計中如何讓圖片輪播

網頁設計中讓圖片輪播,需要用到的JS和比較好的div+css布局意識,主要還是需要了解left,top在css中的意思,這裡我提交一段我以前寫的代碼;

html中的代碼:

div id=”box”

div id=”woZaiHouDun” class=’hide’

a id=”btnLeft” href=’javascript:void(0);’ /a

a id=”btnRight” href=’javascript:void(0);’ /a

ul

liimg width=”400″ height=”260″ src=”./images/scholl/1.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/2.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/3.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/1.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/2.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/3.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/1.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/2.jpg”//li

liimg width=”400″ height=”260″ src=”./images/scholl/3.jpg”//li

/ul

/div

js中的代碼:

ar t=null;

function woZaiHouDun(){

var oUl = document.getElementById(‘woZaiHouDun’).getElementsByTagName(‘ul’)[0];

var aLi = oUl.getElementsByTagName(‘li’);

oUl.innerHTML += oUl.innerHTML;

oUl.style.width = aLi[0].offsetWidth*aLi.length + ‘px’;

var oBtnLeft = document.getElementById(‘btnLeft’);

var oBtnRight = document.getElementById(‘btnRight’);

var iTarget = 0;

var ispeed = -3;

oBtnLeft.onclick = function(){

ispeed = 3;

}

oBtnRight.onclick = function(){

ispeed = -3;

}

t=setInterval(function(){

iTarget = oUl.offsetLeft -ispeed;

if( iTarget – oUl.offsetWidth/2){

oUl.style.left =0 +’px’;

iTarget = oUl.offsetLeft -ispeed;

}

if( iTarget 0){

oUl.style.left =- oUl.offsetWidth/2 +’px’;

iTarget = oUl.offsetLeft -ispeed;

}

oUl.style.left =iTarget +’px’;

},30)

}

這樣是能實現輪播的。

原創文章,作者:FJWMZ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/316509.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
FJWMZ的頭像FJWMZ
上一篇 2025-01-09 12:14
下一篇 2025-01-09 12:14

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • 解析js base64並轉成unit

    本文將從多個方面詳細介紹js中如何解析base64編碼並轉成unit格式。 一、base64編碼解析 在JavaScript中解析base64編碼可以使用atob()函數,它會將b…

    編程 2025-04-29
  • Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的解決方法

    本文將解決Node.js使用Body-Parser處理HTTP POST請求時,特殊字元無法返回的問題。同時,給出一些相關示例代碼,以幫助讀者更好的理解並處理這個問題。 一、問題解…

    編程 2025-04-29
  • python爬取網頁並生成表格

    本文將從以下幾個方面詳細介紹如何使用Python爬取網頁數據並生成表格: 一、獲取網頁數據 獲取網頁數據的一般思路是通過HTTP請求獲取網頁內容,最常用的方式是使用Python庫r…

    編程 2025-04-28
  • 網頁防篡改的重要性和市場佔有率

    網頁防篡改對於保護網站安全和用戶利益至關重要,而市場上針對網頁防篡改的產品和服務也呈現出不斷增長的趨勢。 一、市場佔有率 據不完全統計,目前全球各類網頁防篡改產品和服務的市場規模已…

    編程 2025-04-28
  • t3.js:一個全能的JavaScript動態文本替換工具

    t3.js是一個非常流行的JavaScript動態文本替換工具,它是一個輕量級庫,能夠很容易地實現文本內容的遞增、遞減、替換、切換以及其他各種操作。在本文中,我們將從多個方面探討t…

    編程 2025-04-28
  • Python編程實戰:用Python做網頁與HTML

    Python語言是一種被廣泛應用的高級編程語言,也是一種非常適合於開發網頁和處理HTML的語言。在本文中,我們將從多個方面介紹如何用Python來編寫網頁和處理HTML。 一、Py…

    編程 2025-04-28
  • Python爬取網頁信息

    本文將從多個方面對Python爬取網頁信息做詳細的闡述。 一、爬蟲介紹 爬蟲是一種自動化程序,可以模擬人對網頁進行訪問獲取信息的行為。通過編寫代碼,我們可以指定要獲取的信息,將其從…

    編程 2025-04-28
  • JS圖片沿著SVG路徑移動實現方法

    本文將為大家詳細介紹如何使用JS實現圖片沿著SVG路徑移動的效果,包括路徑製作、路徑效果、以及實現代碼等內容。 一、路徑製作 路徑的製作,我們需要使用到SVG,SVG是可縮放矢量圖…

    編程 2025-04-27
  • 使用Python轉髮網頁內容

    Python是一種廣泛使用的編程語言,它在網路爬蟲、數據分析、人工智慧等領域都有廣泛的應用。其中,使用Python轉髮網頁內容也是一個常見的應用場景。在本文中,我們將從多個方面詳細…

    編程 2025-04-27

發表回復

登錄後才能評論