ホームページ  >  記事  >  ウェブフロントエンド  >  動的な画像切り替えを実現する jquery css 効果_jquery

動的な画像切り替えを実現する jquery css 効果_jquery

WBOY
WBOYオリジナル
2016-05-16 15:29:541809ブラウズ

この記事の例では、jquery css で実装された動的な画像切り替えエフェクトのコードについて説明します。皆さんの参考に共有してください。詳細は以下の通りです。
実行中のエフェクトのスクリーンショットは次のとおりです:

具体的なコードは次のとおりです:

基本的な考え方: 表示する必要のある画像を格納する配列を定義し、画像がクリックされたときにzoomInクラスを削除し、fadeOutRightクラスを追加して、実際の画像が右に移動して消える場合は、カウンターに 1 を加算します (次の画像を呼び出すために使用されます)。500 ミリ秒後に画像が削除されたときに、その画像が最後の画像であるかどうかを判断します。カウンタを 0 に設定し、最初のピクチャから始まるピクチャ コードを削除してから、新しいピクチャ コードを作成し、src を次のピクチャに設定し、ズーム アニメーション スタイル クラスのアニメーション化されたZoomIn を追加して、ピクチャをアニメーション化できるようにします。 p 要素の前に新しい画像コードを追加します。

最初の選択肢は、CSS アニメーション ファイルと jquery ライブラリを導入することです

<link rel="stylesheet" href="css/animate.min.css"/>
<script type="text/javascript" src="js/jquery/1.11.1/jquery.min.js"></script>

シンプルな HTML を構築する

<div class="container">
 <div class="center animated">
  <h1>Image Animation with A Single Img, CSS3 & some jQuery</h1>
  <img class="animated" src="images/island_1x.png" alt=""/>
   <p>
    <a target="_blank" href="#">脚本之家</a>,
  </p>
 </div>
</div>

CSS を追加します。プロジェクトに応じて自由に調整してください

 .container {
   width: 100vw;
   height: 100vh;
   background-color: #fff;
   position: absolute;
  }
 
  .center {
   width: 600px;
   margin-left: auto;
   margin-right: auto;
   position: relative;
   top: 50%;
   transform: translateY(-50%);
   text-align: center;
 
   background-image: url(images/banana.png);
   background-position: -10000px,-10000px;
   background-repeat: no-repeat;
  }
 
  .center h1 {
   margin: 0px;
   padding: 0px;
   text-align: center;
   margin-bottom: 50px;
   font-size: 18px;
   text-transform: uppercase;
  }
 
  .center p{
   padding-top:50px;
   text-align: center;
   color: #ccc;
   font-size: 12px;
 
  }
 
  .center p a{
   text-decoration: none;
   color: inherit;
  }
 
  .center p a:hover{
   color:#222;
  }
 
  .center img{
   cursor: pointer;
  }

基本 CSS はページ全体を配置し、アニメーションは上記の CSS の影響を受けません。
アニメーション効果を実現するための JS を作成します

 var imgs=[ //定义存放图片路径的数组
   "images/island_1x.png",
   "images/banana.png",
   "images/rescued-illos_1x.png",
   "images/rivalry_1x.png",
   "images/sir_crags_a_lot_1x.png",
   "images/sf-cryptids_1x.png",
   "images/db_space_1x.png",
   "images/xmas1_1x.png"
 ];
 var counter =0; //图片的记数器
 $(document).ready(function () {
  $(".center").on("click","img",function(){ //定义.center单击图片事件
   $(this).removeClass("zoomIn").addClass("fadeOutRight"); //删除单击图片的zoomIn类,添加fadeOutRight类
   counter++; //记数器加1
   setTimeout(function(){ //500毫秒后执行此方法
    if(counter==imgs.length) counter=0; //如果到了最后一张图片则返回第一张
    $(".center img").remove(); //删除图片
    $("<img/>").attr("src",imgs[counter]).addClass("animated zoomIn").insertBefore($(".center p"));
    //拼接成下一张图片并加上缩放动画样式类animated zoomIn,最后添加上.center p元素前
    if(imgs[counter+1]!=undefined) $(".center").css("backgroundImage","url("+imgs[counter+1]+")")
    //如果下一张图片没有定义,刚为.center元素的背影图片改为下一张图片(不明白加此行代码的用意,感觉没意义。。。)
   },500);
  });
 
 });

ソース コードのダウンロード: 動的な画像切り替え効果を実現するための jquery css のソース コード

上記は動的な画像切り替え効果を実現するために jquery と CSS を組み合わせたもので、コードの基本的な考え方が示されています。気に入っていただければ幸いです。

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