jQuery はシャッター効果を実現します (li 配置を使用)

jQuery はシャッター効果を実現します (li 配置を使用)

この記事では、ブラインド効果を実現するためのjQueryの具体的なコードを参考までに紹介します。具体的な内容は次のとおりです。

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

div (幅 800 ピクセル) には ul と li が含まれています。li の幅と高さはそれぞれ 560 ピクセルと 300 ピクセルに設定されています (li 内の画像の幅と高さも同じです)。 li の絶対位置と div の相対位置を設定します。
.no0{ 左:0; }
.no1{ 左:160px; }
.no2{ 左:320px; }
.no3{ 左:480px; }
.no4{ 左: 640px; }
アニメーション化されていない場合、各 li の幅と高さは 160 ピクセルです。 (800/5=160 div幅/画像数)
アニメーション中、マウスで入力した線の幅と高さはそれぞれ 560px と 300px となり、画像が完全に表示されます。マウスで入力されていない他の画像の幅は(800-560)/ 4 = 160pxです
マウスをボックスの外に出すと、各画像は元の位置に戻ります。

コード:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<スタイル>
    *{
        マージン:0;
        パディング:0;
        オーバーフロー: 非表示;
    }
    。箱{
        幅:800ピクセル;
        高さ:300px;
        border:5px グレー実線;
        マージン:100px 自動;
        位置: 相対的;
    }
    li{
        リストスタイル: なし;
        フロート: 左;
        位置:絶対;
        /*幅:160px;*/
        高さ:300px;
        幅:560ピクセル;
    }
    .no0{ 左:0; }
    .no1{ 左:160px; }
    .no2{ 左:320px; }
    .no3{ 左:480px; }
    .no4{ 左: 640px; }

    画像{
        幅:560ピクセル;
        高さ:300px;
    }

</スタイル>
<本文>
<div class="box">
    <ul>
        <li class="no0"> <img src="img/0.jpg" alt=""> </li>
        <li class="no1"> <img src="img/1.jpg" alt=""> </li>
        <li class="no2"> <img src="img/2.jpg" alt=""> </li>
        <li class="no3"> <img src="img/3.jpg" alt=""> </li>
        <li class="no4"> <img src="img/4.jpg" alt=""> </li>
    </ul>
</div>


<script src="js/jquery-1.12.3.min.js"> </script>
<スクリプト>
    
// 初期位置 0 160 320 480 640
// 左端の位置 0 60 120 180 240
//右端の位置: 0 560 620 680 740
$lis = $("li");
//マウスが図1に入ると、図1から図4が右にアニメーションします $lis.eq(0).mouseenter(function(){
      停止します。
      $lis.eq(1).animate({left:560},1000);
      $lis.eq(2).animate({left:620},1000);
      $lis.eq(3).animate({left:680},1000);
     $lis.eq(4).animate({left:740},1000);
  });
//マウスが画像2に入ると、画像2は左にアニメーションし、画像3から4は右にアニメーションします$lis.eq(1).mouseenter(function(){
    停止します。
    $lis.eq(1).animate({left:60},1000);
    $lis.eq(2).animate({left:620},1000);
    $lis.eq(3).animate({left:680},1000);
    $lis.eq(4).animate({left:740},1000);

});

$lis.eq(2).mouseenter(関数(){
    停止します。
    $lis.eq(1).animate({left:60},1000);
    $lis.eq(2).animate({left:120},1000);
    $lis.eq(3).animate({left:680},1000);
    $lis.eq(4).animate({left:740},1000);

});

$lis.eq(3).mouseenter(関数(){
    停止します。
    $lis.eq(1).animate({left:60},1000);
    $lis.eq(2).animate({left:120},1000);
    $lis.eq(3).animate({left:180},1000);
    $lis.eq(4).animate({left:740},1000);

});

$lis.eq(4).mouseenter(関数(){
    停止します。
    $lis.eq(1).animate({left:60},1000);
    $lis.eq(2).animate({left:120},1000);
    $lis.eq(3).animate({left:180},1000);
    $lis.eq(4).animate({left:240},1000);

});


//マウスがボックスから離れると、各画像は元の位置に戻ります$(".box").mouseleave(function(){
        停止します。
        $lis.eq(1).animate({left:160},1000);
        $lis.eq(2).animate({left:320},1000);
        $lis.eq(3).animate({left:480},1000);
        $lis.eq(4).animate({left:640},1000);
    })

</スクリプト>
</本文>
</html>

実行結果:

コードの簡素化:

<!DOCTYPE html>
<html lang="ja">
<ヘッド>
    <メタ文字セット="UTF-8">
    <title>タイトル</title>
</head>
<スタイル>
    *{
        マージン:0;
        パディング:0;
        オーバーフロー: 非表示;
    }
    。箱{
        幅:800ピクセル;
        高さ:300px;
        border:5px グレー実線;
        マージン:100px 自動;
        位置: 相対的;
    }
    li{
        リストスタイル: なし;
        フロート: 左;
        位置:絶対;
        幅:560ピクセル;
        高さ:300px;
    }
    .no0{ 左:0; }
    .no1{ 左:160px; }
    .no2{ 左:320px; }
    .no3{ 左:480px; }
    .no4{ 左: 640px; }

    画像{
        幅:560ピクセル;
        高さ:300px;
    }

</スタイル>
<本文>
<div class="box">
    <ul>
        <li class="no0"> <img src="img/0.jpg" alt=""> </li>
        <li class="no1"> <img src="img/1.jpg" alt=""> </li>
        <li class="no2"> <img src="img/2.jpg" alt=""> </li>
        <li class="no3"> <img src="img/3.jpg" alt=""> </li>
        <li class="no4"> <img src="img/4.jpg" alt=""> </li>
    </ul>
</div>

<script src="js/jquery-1.12.3.min.js"></script>
<スクリプト>
// 初期位置 0 160 320 480 640
// 左端の位置 0 60 120 180 240
//右端の位置: 0 560 620 680 740


    $lis = $("li");
    $lis.mouseenter(関数(){
        停止します。
        コンソールにログ出力します。
        var インデックス = $(this).index();
// マウスが画像の左側に入ると、左にアニメーションします。右側では、右にアニメーションします $lis.each(function(i){
            if(i <= インデックス){
                $(this).animate({left:60*i},1000);
            }それ以外{
                $(this).animate({left:560+60*(i-1)},1000);
            }
        })
    })

//マウスがボックスから離れると、各画像は元の位置に戻ります$(".box").mouseleave(function(){
    停止します。
      $lis.each(関数(i){
          $(this).animate({left:160*i},1000);
      });

});



</スクリプト>

</本文>
</html>

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

以下もご興味があるかもしれません:
  • ブラインド効果を実現するjQuery
  • jQuery でシャッター フォーカス画像アニメーション効果を実現するコード共有 (ソース コードのダウンロードあり)
  • jQuery を使ってページシャッターの回転灯スクロール表示効果を実現する方法
  • jQuery フリップ カードまたはシャッター効果 (コンテンツは 3 秒で自動的に切り替わります)

<<:  XHTML 入門チュートリアル: Web ページのヘッダーと DTD

>>:  docker --privileged=true パラメータの役割についての簡単な説明

推薦する

JavaScript配列についてさらに詳しく知るのに役立つ記事

目次1. 配列の役割: 2. 配列の定義: 1. コンストラクタを通じて配列を作成する2. リテラル...

W3C チュートリアル (11): W3C DOM アクティビティ

ドキュメント オブジェクト モデル (DOM) は、プログラムがドキュメントのコンテンツ、構造、およ...

Windows オペレーティング システムでの Linux 仮想マシンのインストールと構成のチュートリアル

序文仕事では、Linux 環境で操作する必要があることがよくあります。ここでは、win10 システム...

MySQL 圧縮パッケージ版 zip インストール設定方法

圧縮版の記事ではデータの初期化がされていないなどいくつか問題があったため、Windows にインスト...

ES6 における Object.assign() の使い方の詳細な説明

目次2. 目的2.1 オブジェクトにプロパティを追加する2.3 オブジェクトの複製2.4 複数のオブ...

最新の JavaScript で非同期タスクを書く方法

序文この記事では、非同期 JavaScript の進化と、それがコードの記述方法にどのような変化をも...

DockerにMinIOをインストールするための詳細な手順

目次1. docker環境が正常かどうかを確認する2. miniIOイメージをダウンロードする3. ...

Docker イメージを削除できません エラー: そのようなイメージはありません: xxxxxx 解決策

序文docker イメージを削除できません。docker docker imagesを確認すると、イ...

Google の新しい UI から学べること (画像とテキスト)

2011 年に最も顕著なウェブサイトの変更は、一連の製品に新しいユーザー インターフェースを導入した...

タイムスタンプの差を計算するSQLメソッド

タイムスタンプの差を計算するSQLメソッド概要場合によっては、特定のレコードを時間で検索する必要があ...

JavaScriptで計算機機能を実現するプロセスの詳細な説明

目次1. 電卓機能の紹介2. 計算機ページのデザイン1. ナビゲーションバー2. データ部分3. i...

Dockerイメージとコンテナの一般的な操作の詳細な説明

画像アクセラレータ中国の Docker Hub からイメージをプルすることが難しい場合があります。こ...

HTML ウェブページの基本コンポーネントの概要

<br />Web ページ上の情報は主にテキストベースです。 Web ページでは、フォン...

win10 で mysql8.0.23 をインストールし、「サービスが制御機能に応答しません」という問題を解決する方法

Windows10にmysqlをインストールする1. 公式サイトからMySQLをダウンロードするウェ...

Vue2.0/3.0 での provide と inject の使用例

目次1. provide/inject の用途は何ですか? 2. provide/injectの使い...