首頁 > web前端 > js教程 > 主體

JavaScript 如何實現圖片的左右無縫滑動切換效果?

WBOY
發布: 2023-10-19 08:56:12
原創
1202 人瀏覽過

JavaScript 如何实现图片的左右无缝滑动切换效果?

JavaScript 如何實現圖片的左右無縫滑動切換效果?

隨著網路的發展,網頁設計中常會使用圖片作為頁面的重要元素。而圖片的切換效果對於頁面的美觀度和互動性有著重要的影響。在本篇文章中,我們將探討如何使用 JavaScript 實現圖片的左右無縫滑動切換效果,並附有具體的程式碼範例。

實現圖片的左右無縫滑動切換效果,首先需要做到以下幾點:

  1. 建立一個圖片容器,用於放置多張圖片,實現滑動切換效果。
  2. 設定樣式,使圖片容器能夠水平排列,並隱藏超出容器寬度的部分。
  3. 透過 JavaScript,控制容器的位置,實現圖片的切換效果。

以下是具體的程式碼範例:

HTML 程式碼:

<div class="slider-container">
  <ul class="slider-list">
    <li><img src="image1.jpg" alt="Image 1"></li>
    <li><img src="image2.jpg" alt="Image 2"></li>
    <li><img src="image3.jpg" alt="Image 3"></li>
    <!-- 可以添加更多的图片 -->
  </ul>
</div>
````

CSS 代码:
登入後複製

.slider-container {
width: 800px; / 設定容器寬度/
overflow: hidden; / 隱藏超出容器寬度的部分/
}

.slider-list {
width: 300%; / 設定容器寬度為圖片總寬度的3 倍/
display: flex; / 設定圖片水平排列/
transition: transform 0.5s; / 添加過渡效果/
}

.slider-list li {
flex: 1 0 100%; / 設定每張圖片的寬度為容器寬度的1/3 /
}

JavaScript 代码:
登入後複製

function slideNext() {
let sliderList = document.querySelector('.slider-list');
let currTranslate = window.getComputedStyle(sliderList).

let currTranslate = window.getComputedStyle(sliderList). getPropertyValue('transform'); // 取得目前容器的位移值,用以判斷是否到達最後一張圖片


if (currTranslate === 'none') currTranslate = 0; // 取得的初始位移值為'none',將其轉換為0

else currTranslate = parseInt(currTranslate.split(',')[4].trim());

#if (currTranslate <= - (sliderList.offsetWidth - document.querySelector('.slider-container').offsetWidth)) {

sliderList.style.transform = `translateX(0px)`; // 如果已经到达最后一张图片,则将容器位移值重置为 0,实现无缝切换
登入後複製

} else {

sliderList.style.transform = `translateX(${currTranslate - document.querySelector('.slider-container').offsetWidth}px)`; // 每次滑动一个图片宽度的距离
登入後複製

}

#}

##function slidePrev() {
let sliderList = document.querySelector('.slider-list');
let currTranslate = window.getComputedStyle(sliderList).getPropertyValue('transform'); // 取得目前容器的位移值,用以判斷是否到達第一張圖片

if (currTranslate === 'none') currTranslate = 0; // 取得的初始位移值為'none',將其轉為0
else currTranslate = parseInt(currTranslate.split(',')[4].trim());

if (currTranslate >= 0) {

sliderList.style.transform = `translateX(-${sliderList.offsetWidth - document.querySelector('.slider-container').offsetWidth}px)`; // 如果已经到达第一张图片,则将容器位移值设置为最后一张图片的位置,实现无缝切换
登入後複製

} else {

sliderList.style.transform = `translateX(${currTranslate + document.querySelector('.slider-container').offsetWidth}px)`; // 每次滑动一个图片宽度的距离
登入後複製

}
}

setInterval(slideNext, 3000); // 定時呼叫slideNext 函數,實作自動切換

以上代码示例中,我们使用了一个图片容器 `.slider-container` ,其中包含了一个图片列表 `.slider-list` ,通过调整列表的位置实现图片的滑动切换效果。在 JavaScript 部分,通过 `slideNext` 和 `slidePrev` 函数控制容器的位移值,从而实现了图片的左右无缝滑动切换。另外,我们还使用了 `setInterval` 函数,使图片能够自动切换。
登入後複製

以上是JavaScript 如何實現圖片的左右無縫滑動切換效果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!