jQuery で呼吸カルーセル効果を実現

jQuery で呼吸カルーセル効果を実現

この記事では、呼吸カルーセル効果を実現するためのjQueryの具体的なコードを参考までに共有します。具体的な内容は次のとおりです。

おそらく次のような考えでしょう:

ブリージング カルーセルは、画像がフェードインおよびフェードアウトするカルーセルです。
ul を div に格納します (相対位置を設定します)。li には float: left は必要なく、絶対位置を設定するだけです。左:0、上:0。
このとき、すべての写真の後に false 0 を追加する必要はありません。
div には、左ボタンと右ボタン、およびその下の小さなドットも含まれます。これらは、絶対位置指定によって適切な位置に配置できます。
インデックスを 0 に設定します。右ボタンをクリックすると、現在の画像がフェードアウトし、インデックス ++ になります。画像が最後の場合、インデックスは 0 に設定され、新しい画像がフェードインします。下の小さな点は色に対応しています。
左ボタンのアイデアもほぼ同じです。
下の小さな画像をクリックした際に、クリックしたインデックスが現在表示されているインデックスと同じであれば、何もする必要はありません。
他のドットをクリックすると、古い画像がフェードアウトし、現在のドットのインデックスがグローバル変数インデックスに割り当てられ、新しい画像がフェードインします。
クリックしたドットの色は変わりますが、その兄弟要素は元の色のままです。

プログラム:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<スタイル>
    *{
        マージン:0;
        パディング:0;
    }
    。大きい{
        幅:560ピクセル;
        高さ:300px;
        位置: 相対的;
        マージン:200px 自動;
        border:10px 赤一色;
    }
    .big .move{
        幅:5600ピクセル;
        高さ:300px;
        位置: 絶対;
        左:0;
        トップ:0;
    }
    .big .move li{
        /*float: 左;*/
        リストスタイル: なし;
        表示: なし;
        位置: 絶対;
        トップ:0;
        左:0;
    }
    .big ul .first{
        表示: ブロック;
    }
    画像{
        幅:560ピクセル;
        高さ:300px;
    }

    .btn div{
        幅:40px;
        高さ:60px;
        背景: 赤;
        位置: 絶対;
        上位:50%;
        上マージン:-30px;
    }
    .rightbtn{
        右:0;
    }

    。丸{
        位置: 絶対;
        左:0px;
        下:0px;
        幅:200px;
        高さ:30px;

    }
    .circle ul{
        /*オーバーフロー: 非表示;*/
        リストスタイル: なし;
        フロート: 左;
    }
    .circleUl li{
        背景: 白;
        フロート: 左;
        右マージン:10px;

        幅:20px;
        高さ:20px;
        境界線の半径:50%;
    }


</スタイル>
<本文>
<div class="big">

    <ul class="move">
        <li class="first"> <img src="img/0.jpg" alt=""> </li>
        <li> <img src="img/1.jpg" alt=""> </li>
        <li> <img src="img/2.jpg" alt=""> </li>
        <li> <img src="img/3.jpg" alt=""> </li>
    </ul>

    <div class="btn">
        <div class="leftbtn"> < </div>
        <div class="rightbtn"> > </div>
    </div>

    <div class="circle">
        <ul class="circleUl">
            <li></li>
            <li></li>
            <li></li>
            <li></li>
        </ul>
    </div>

</div>


<script src="js/jquery-1.12.3.min.js"> </script>

<スクリプト>
// 最初のドットを赤に設定します $(".circleUl li").eq(0).css("background","re​​d");

    var インデックス = 0;
    $(".leftbtn").click(関数(){
// 古い画像をフェードアウトします $(".move li").eq(index).fadeOut(400);
        索引 - ;
      if(インデックス<0){
          インデックス = 3;
      }
// 新しい画像がフェードインします $(".move li").eq(index).fadeIn(400);
// インデックスに対応する小さなドットの色を変更します$(".circleUl li").eq(index).css("background","re​​d").siblings().css("background","white");
    });


    $(".rightbtn").click(関数(){
        $(".move li").eq(index).fadeOut(400);
        インデックス++;
        コンソールログ(インデックス);
        if(インデックス == 4){
            インデックス = 0;
        }
        $(".move li").eq(index).fadeIn(400);
        $(".circleUl li").eq(index).css("background","re​​d").siblings().css("background","white");
    });


// 小さなドットのクリックイベント $(".circleUl li").click(function(){
// 最初の画像がすでに表示されているときに最初のドットをもう一度クリックしても何も起こりません if(index == $(this).index()) return;

// 古い画像がフェードアウトします $(".move li").eq(index).fadeOut(400);

// ドットをクリックし、そのドットのインデックスをグローバル変数インデックスに割り当てます (グローバル変数インデックスを更新します)
        インデックス = $(this).index();

        // 新しい画像がフェードインします $(".move li").eq(index).fadeIn(400);
// 小さなドットの色が変わります$(this).css("background","re​​d").siblings().css("background","white");



    })
</スクリプト>

</本文>
</html>

実行結果:

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • jQuery は呼吸カルーセルを実装します
  • ブリージングカルーセルを実装するネイティブJS

<<:  XHTML 入門チュートリアル: XHTML Web ページ画像アプリケーション

>>:  Docker に MySQL と Redis をインストールする方法

推薦する

Nginx ログ管理の概要

Nginx ログの説明アクセス ログを通じて、ユーザーの地理的起源、ジャンプ元、使用端末、特定の U...

Dockerコンテナのデータを復元する方法

プロジェクトのテスト環境データベースのデータが失われてしまったので、記録しておきたいと思います。当時...

innerHTML を理解する

<br />関連記事: innerHTML HTML DOM insertRow() メ...

SSH ポート転送、ローカル ポート転送、リモート ポート転送、動的ポート転送の詳細

パート 1 SSH ポート転送の概要カフェで無料Wi-Fiを利用しているとき、誰かがあなたのパスワー...

小さなプログラムが天井に張り付いてしまう問題を完璧に解決するためにposition:stickyを使用する方法

最近、あるプロジェクトのクライアントが、上部に 2 つのタブ メニューを配置することを要求しました。...

HTML相対パスの親ディレクトリと子ディレクトリの書き方

親ディレクトリを指定する方法../ はソース ファイルの親ディレクトリを表し、../../ はソース...

最も単純な ErrorBoundary コンポーネントをカプセル化して、React 例外を処理する

序文React 16から、子コンポーネントで発生したエラーを捕捉し、エラーログを記録し、ダウングレー...

Alibaba Cloud ECSインスタンスのユーザールートパスワードとリモート接続方法を設定する方法

Alibaba Cloud サーバーを購入した後、新しいインスタンスが正常に動作できるようにするには...

MySQLでヘッダー付きのCSVファイルをエクスポートする方法

公式ドキュメント http://dev.mysql.com/doc/refman/5.7/en/se...

MySQLストアドプロシージャを変更する詳細な手順

序文実際の開発では、ビジネス要件が変更されることが多いため、ストアド プロシージャの特性を変更するこ...

js は複数の画像を zip にパッケージ化します

目次1. ファイルをインポートする2. HTMLページ3. メインコード4. 画像をbase64に変...

Nginx 転送ソケットポート設定の詳細な説明

Nginx によるソケット ポート転送の一般的なシナリオ: オンライン学習アプリケーションでは、通常...

nginx + php の「入力ファイルが指定されていません」の解決策

本日、ローカル開発環境で突然「入力ファイルが指定されていません」というエラーが発生してしまいました。...

Linux での MySQL の文字化け問題の解決方法

プロジェクトはサーバーと対話し、post を通じてサーバー側の jsp にアクセスし、jsp はサー...

MySQL データベースの一般的な基本操作の分析 [データベースの作成、表示、変更、削除]

この記事では、例を使用して、MySQL データベースの一般的な基本操作について説明します。ご参考まで...