Rumah >hujung hadapan web >tutorial js >js merealisasikan pemaparan paparan dinding foto yang hebat dengan kemahiran download_javascript kod sumber

js merealisasikan pemaparan paparan dinding foto yang hebat dengan kemahiran download_javascript kod sumber

WBOY
WBOYasal
2016-05-16 15:37:091586semak imbas

Ini ialah kesan paparan dinding foto yang sangat hebat digabungkan dengan kesan pudar, putar, zum, senget dan 3D Foto dipotong dengan cepat dari kiri, kesan 3D diputar dan akhirnya disusun dengan kemas pada dinding foto . Pengguna menunjukkan kesan paparan dinding foto yang hebat.

Lihat demo Muat turun kod sumber

HTML

Artikel ini menggunakan contoh untuk berkongsi dengan anda kesan dinding foto yang menarik Kesan ini bergantung pada jQuery dan pemalam pelonggaran, jadi kedua-dua fail ini dimuatkan dahulu.

<script src="jquery.min.js"></script> 
<script src="jquery.easing.1.3.js"></script> 

Seterusnya, kami meletakkan kod berikut di mana kami perlu memaparkan dinding foto:

<div class="grid"></div> 
<div class="animate">点击看效果</div> 

CSS

CSS mentakrifkan gaya asas dinding foto, susunan foto dan gaya butang.

.grid { 
  width: 600px; height: 300px; margin: 100px auto 50px auto; 
  perspective: 500px; /*For 3d*/ 
} 
.grid img {width: 60px; height: 60px; display: block; float: left;} 
 
.animate { 
  text-transform: uppercase; 
  background: rgb(0, 100, 0); color: white; 
  padding: 10px 20px; border-radius: 5px; 
  cursor: pointer;margin:10px auto;width:100px;text-align:center; 
} 
.animate:hover {background: rgb(0, 75, 0);} 

JS

Mula-mula kami memuatkan 50 foto secara dinamik pada halaman dan sumber foto adalah daripada Internet.

var images = "", count = 50; 
for(var i = 1; i <= count; i++) 
  images += '<img src="http://thecodeplayer.com/u/uifaces/'+i+'.jpg" />'; 
   $(".grid").append(images); 

Apabila butang diklik, 50 gambar mengalami tahap ubah bentuk, zum, peralihan dan kesan pudar yang berbeza-beza kerana sudah tiba masanya untuk beralih ke dinding foto seterusnya Apabila semua tindakan ini selesai, kesan animasi daripada dinding foto bermula dan fungsi storm() dipanggil.

var d = 0; //延时 
var ry, tz, s; //定义转换参数 
$(".animate").on("click", function(){ 
  $("img").each(function(){ 
    d = Math.random()*1000; //1ms to 1000ms delay 
    $(this).delay(d).animate({opacity: 0}, { 
      step: function(n){ 
        s = 1-n; //scale - will animate from 0 to 1 
        $(this).css("transform", "scale("+s+")"); 
      }, 
      duration: 1000 
    }) 
  }).promise().done(function(){ 
    storm(); //淡出效果全部完成时调用 
  }) 
}) 

Fungsi tersuai storm() melengkapkan putaran sudut dan anjakan paksi-Z setiap foto Ia digabungkan dengan CSS3 untuk menghasilkan kesan 3D, dan kemudian memanggil pelonggaran untuk mencapai kesan penimbalan, menjadikan keseluruhan dinding foto dipotong sangat. dengan lancar. Sila lihat kod:

function storm(){ 
  $("img").each(function(){ 
    d = Math.random()*1000; 
    $(this).delay(d).animate({opacity: 1}, { 
      step: function(n){ 
        //rotating the images on the Y axis from 360deg to 0deg 
        ry = (1-n)*360; 
        //translating the images from 1000px to 0px 
        tz = (1-n)*1000; 
        //applying the transformation 
        $(this).css("transform", "rotateY("+ry+"deg) translateZ("+tz+"px)"); 
      }, 
      duration: 3000, 
      easing: 'easeOutQuint' 
    }) 
  }) 
} 

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn