ホームページ ウェブフロントエンド jsチュートリアル JavaScript を使用して画像を左右にスライドさせ、ズーム効果を追加するにはどうすればよいですか?

JavaScript を使用して画像を左右にスライドさせ、ズーム効果を追加するにはどうすればよいですか?

Oct 18, 2023 am 11:15 AM
javascript 滑り台 ズーム

JavaScript 如何实现图片的左右滑动并加入缩放效果?

JavaScript 画像を左右にスライドさせてズーム効果を追加するにはどうすればよいですか?

インターネットの発展により、写真は私たちの日常生活に欠かせないものになりました。 Webデザインでは、写真の表現方法も非常に重要です。この記事ではJavaScriptを使って画像を左右にスライドさせたり、ズーム効果を加える方法を紹介します。

1. HTML 構造

まず、HTML でイメージ コンテナを作成し、その中にイメージ要素をネストする必要があります。例:

<div class="slider">
  <img src="image1.jpg" alt="">
</div>
ログイン後にコピー

2. CSS スタイルの追加

次に、イメージ コンテナが正常に表示され、特定のサイズになるように、いくつかの基本的な CSS スタイルをイメージ コンテナに追加する必要があります。 。例:

.slider {
  width: 500px;
  height: 300px;
  overflow: hidden;
  position: relative;
}

.slider img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
ログイン後にコピー

3. 左右のスライド効果を実現するには、

まず、イメージ コンテナとイメージ要素を取得し、各スライドの距離を計算する必要があります。コードは次のとおりです。

var slider = document.querySelector('.slider');
var image = document.querySelector('.slider img');
var slideDistance = 200; // 每次滑动的距离
ログイン後にコピー

次に、スライド イベントを画像コンテナにバインドし、スライドの方向に応じて画像表示の位置を調整します。コードは次のとおりです:

slider.addEventListener('mousedown', startSlide);

function startSlide(e) {
  var startX = e.clientX;
  slider.addEventListener('mousemove', slideImage);

  function slideImage(e) {
    var moveX = e.clientX - startX;
    image.style.transform = 'translateX(' + moveX + 'px)';
  }

  slider.addEventListener('mouseup', stopSlide);
  slider.addEventListener('mouseleave', stopSlide);

  function stopSlide(e) {
    slider.removeEventListener('mousemove', slideImage);
    var moveX = e.clientX - startX;
    var absMoveX = Math.abs(moveX);
    var direction = moveX > 0 ? 'right' : 'left';

    if (absMoveX > slideDistance) {
      if (direction === 'right') {
        slideTo('prev');
      } else {
        slideTo('next');
      }
    } else {
      resetSlide();
    }
  }

  function resetSlide() {
    image.style.transform = 'translateX(0)';
  }

  function slideTo(direction) {
    var currentImageIndex = getIndex(image.getAttribute('src'));

    if (direction === 'prev') {
      currentImageIndex--;
    } else {
      currentImageIndex++;
    }

    if (currentImageIndex < 0) {
      currentImageIndex = imageList.length - 1;
    } else if (currentImageIndex >= imageList.length) {
      currentImageIndex = 0;
    }

    image.src = imageList[currentImageIndex];
    resetSlide();
  }
}
ログイン後にコピー

4. ズーム効果の追加

画像をスライドさせながらズーム効果を実現したい場合は、スライド イベントでスライド距離を取得し、距離に応じて画像のサイズを変更します。コードは次のとおりです。

// 在 slideImage 函数中添加以下代码

function slideImage(e) {
  var moveX = e.clientX - startX;
  var scale = 1 - Math.abs(moveX) / (slider.offsetWidth / 2);

  if (scale < 0.3) {
    scale = 0.3;
  }

  image.style.transform = 'translateX(' + moveX + 'px) scale(' + scale + ')';
}
ログイン後にコピー

上記のコードの実装により、Web ページ上で画像を左右にスライドさせ、ズーム効果を追加できます。同時に、実装プロセス中に、特定の設計ニーズを満たすために、必要に応じてスライド距離やスケーリング率などを調整できます。

以上がJavaScript を使用して画像を左右にスライドさせ、ズーム効果を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

iPhone の Safari ズームの問題: これで解決します iPhone の Safari ズームの問題: これで解決します Apr 20, 2024 am 08:08 AM

Safari でズーム レベルを制御できない場合、作業が困難になることがあります。したがって、Safari がズームアウトしているように見える場合は、それが問題である可能性があります。 Safari でのこの小さなズームの問題を解決する方法をいくつか紹介します。 1. カーソル拡大率:Safari メニューバーの「表示」>「カーソル拡大率」を選択します。これにより、カーソルが画面上でより見やすくなり、制御が容易になります。 2. マウスを移動します。これは簡単に聞こえるかもしれませんが、マウスを画面上の別の場所に移動するだけで、マウスが自動的に通常のサイズに戻ることがあります。 3. キーボード ショートカットを使用する 解決策 1 – ズーム レベルをリセットする Safari ブラウザから直接ズーム レベルを制御できます。ステップ 1 – Safari を使用している場合

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 Dec 17, 2023 pm 02:54 PM

WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法 はじめに: 技術の継続的な発展により、音声認識技術は人工知能の分野の重要な部分になりました。 WebSocket と JavaScript をベースとしたオンライン音声認識システムは、低遅延、リアルタイム、クロスプラットフォームという特徴があり、広く使用されるソリューションとなっています。この記事では、WebSocket と JavaScript を使用してオンライン音声認識システムを実装する方法を紹介します。

Wordでページを並べて拡大縮小する方法 Wordでページを並べて拡大縮小する方法 Mar 19, 2024 pm 07:19 PM

Word文書を使ってファイルを編集する場合、ページ数が多く、並べて表示して全体の効果を確認したいのですが、操作方法が分からず、長時間スクロールしなければならないことがよくあります。ページごとに表示します。あなたも同様の状況に遭遇したことがあるかどうかはわかりませんが、実際、Word のズーム ページを並べて設定する方法を学べば、現時点では簡単に解決できます。以下、見て一緒に学びましょう。まず、Word 文書内に新しいページを作成して開き、区別しやすくするために簡単なコンテンツを入力します。 2. たとえば、ワードズームと並べて表示を実現したい場合は、図に示すように、メニューバーで[表示]を見つけ、表示ツールオプションで[複数ページ]を選択する必要があります。 3. [複数ページ] を見つけて、クリックします。

WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー WebSocket と JavaScript: リアルタイム監視システムを実装するための主要テクノロジー Dec 17, 2023 pm 05:30 PM

WebSocketとJavaScript:リアルタイム監視システムを実現するためのキーテクノロジー はじめに: インターネット技術の急速な発展に伴い、リアルタイム監視システムは様々な分野で広く利用されています。リアルタイム監視を実現するための重要なテクノロジーの 1 つは、WebSocket と JavaScript の組み合わせです。この記事では、リアルタイム監視システムにおける WebSocket と JavaScript のアプリケーションを紹介し、コード例を示し、その実装原理を詳しく説明します。 1.WebSocketテクノロジー

JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 JavaScript と WebSocket を使用してリアルタイムのオンライン注文システムを実装する方法 Dec 17, 2023 pm 12:09 PM

JavaScript と WebSocket を使用してリアルタイム オンライン注文システムを実装する方法の紹介: インターネットの普及とテクノロジーの進歩に伴い、ますます多くのレストランがオンライン注文サービスを提供し始めています。リアルタイムのオンライン注文システムを実装するには、JavaScript と WebSocket テクノロジを使用できます。 WebSocket は、TCP プロトコルをベースとした全二重通信プロトコルで、クライアントとサーバー間のリアルタイム双方向通信を実現します。リアルタイムオンラインオーダーシステムにおいて、ユーザーが料理を選択して注文するとき

Word 文書編集のヒント: 2 ページのコンテンツを 1 ページにまとめる Word 文書編集のヒント: 2 ページのコンテンツを 1 ページにまとめる Mar 25, 2024 pm 06:06 PM

Microsoft Word 文書では、特に用紙を節約する必要がある場合や両面文書を印刷する必要がある場合に、2 ページのコンテンツを 1 ページに結合する状況がよく発生します。この目標を達成するための一般的な方法をいくつか以下に紹介します。方法 1: ページの余白を調整する まず Word 文書を開き、メニュー バーの [ページ レイアウト] オプションを見つけます。クリックすると、ページ レイアウト設定メニューがポップアップ表示されます。ここでは、上下左右の余白を含むページの余白を調整できます。一般に、上下の余白を小さくすると、コンテンツが 1 ページ内に収まるようになります。味わうことができます

WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 WebSocketとJavaScriptを使ったオンライン予約システムの実装方法 Dec 17, 2023 am 09:39 AM

WebSocket と JavaScript を使用してオンライン予約システムを実装する方法 今日のデジタル時代では、ますます多くの企業やサービスがオンライン予約機能を提供する必要があります。効率的かつリアルタイムのオンライン予約システムを実装することが重要です。この記事では、WebSocket と JavaScript を使用してオンライン予約システムを実装する方法と、具体的なコード例を紹介します。 1. WebSocket とは何ですか? WebSocket は、単一の TCP 接続における全二重方式です。

携帯電話の画面が滑りにくく、乾燥しにくい場合はどうすればよいですか? 携帯電話の画面が滑りにくく、乾燥しにくい場合はどうすればよいですか? Dec 04, 2023 pm 03:51 PM

携帯電話の画面が滑りにくく乾燥しにくい場合の解決策: 1. 画面を加湿する; 2. 画面を定期的に清掃する; 3. 指の滑り強度を高める; 4. 携帯電話の画面保護フィルムを使用する; 5. 保護カバーを交換する; 5. 保護カバーを交換する6. 手を湿らせてください; 7. フィルムを貼るときは清潔に扱ってください; 8. 潤滑剤を使用してください; 9. 手袋を使用してください; 10. 画面の明るさを調整してください; 11. 携帯電話を交換してください。詳細な紹介: 1. スクリーンを加湿し、スクリーンの隣に加湿器を置くか、水をスプレーして空気中の湿度を上げ、スクリーンの乾燥を減らします; 2. スクリーンを定期的に掃除し、専門のスクリーンクリーナーなどを使用してください。

See all articles