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 パラメータの役割についての簡単な説明

推薦する

XHTML+CSS Web ページ作成における美しいスタイルシートの適用

これはかなり前に書かれた記事です。今となっては、その中の考え方は学ぶ価値があるように思えます。jb5...

1 つの記事で Nginx ロケーション マッチングの実装を理解する

チームはフロントエンドとバックエンドを分離しているため、フロントエンドが Nginx とノード層を引...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

Docker で LNMP 環境を素早く構築する方法 (最新)

序文ヒント: ここで、この記事に記録するおおよその内容を追加できます。例えば、人工知能の継続的な発展...

Windows システムに VirtualBox と Ubuntu 16.04 をインストールするための詳細なチュートリアル

1. ソフトウェアの紹介バーチャルボックスVirtualBox は、無料のオープンソース仮想マシン ...

忘れられたボタンタグ

注:この記事は他の人によって翻訳されていますが、考えるべき点が多く、理解しにくい点もあると感じていま...

ウェブページで CSS スタイルを適用するさまざまな形式の概要

1. インライン スタイル (<body></body> 内に配置されます)...

react+reduxを使用してカウンター機能を実装すると発生する問題

Redux はシンプルな状態マネージャーです。その歴史をたどることはしません。使用法の観点から見ると...

MySQL全文検索の使用例

目次1. 環境整備2. データの準備3. ショーを始める4. 単語分割エンジン要約する参考文献1. ...

mysql 5.7.18 winx64 パスワード変更

MySQL 5.7.18 が正常にインストールされた後、バージョン 5.7 では空のパスワードでのロ...

ウェブデザインの発展と西洋建築の類似点は何でしょうか?

歴史は常に驚くほどうまく繰り返される。西洋建築とウェブデザインは、どちらも工学と芸術の組み合わせです...

MySQL 5.7.17 のインストールと設定のグラフィックチュートリアル

MySQL の機能: MySQL は、スウェーデンの会社 MySQL AB によって開発されたリレー...

Baota Linux パネル コマンド リスト

目次Pagodaをインストールする管理塔Nginx サービス管理Apache サービス管理MySQL...

MySQL 5.7.21 解凍版インストール Navicat データベース操作ツールインストール

MySQL解凍版とNavicatデータベース操作ツールのインストールは、以下のとおりです。 1. M...