iT邦幫忙

2023 iThome 鐵人賽

DAY 15
0
自我挑戰組

從零開始學Web Framework : React篇系列 第 15

Day15: 圖片輪播效果

  • 分享至 

  • xImage
  •  
  1. code
import React, { useState } from 'react';
import Image from 'next/image';

function ImageSlider() {
  const [currentImageIndex, setCurrentImageIndex] = useState(0);
  const images = [
    '圖片1',
    '圖片2',
    '圖片3',
    '圖片4',
    '圖片5'
  ];
//以下這兩個函數處理切換到下一張和上一張圖片的邏輯
  const handleNextImage = () => {
    setCurrentImageIndex((prevIndex) => (prevIndex + 1) % images.length);
  };

  const handlePrevImage = () => {
    setCurrentImageIndex((prevIndex) => (prevIndex - 1 + images.length) % images.length);
  };

  return (
    <div>
      <h1>Image Slider</h1>
      <div className="image-container">
        {images.map((image, index) => (
          <Image
            key={index}
            src={image}
            alt={`Image ${index + 1}`}
            style={{
              width: '100px', 
              height: '100px', 
              objectFit: 'cover', //保持圖片比例並填充整個容器
              opacity: index === currentImageIndex ? 1 : 0,
              transition: 'opacity 0.5s ease-in-out',
              //使用opacity屬性實現漸變效果,添加漸變效果的過渡動畫
            }}
          />
        ))}
      </div>
      <button onClick={handlePrevImage}>Previous</button>
      <button onClick={handleNextImage}>Next</button>
    </div>
  );
}

export default ImageSlider;
  1. 實作

上一篇
Day_14: 選擇圖片上傳並瀏覽
下一篇
Day_16: 圖片旋轉
系列文
從零開始學Web Framework : React篇30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言