Mootools için Martin Pengelly-Phillips tarafından hazırlanmış olan PhotoSurface Eklentisi kullanabileceğiniz çok kullanışlı animasyonlu resim galeri örneği. Sayfa ilk açıldığı zaman resimlerin her biri ayrı bir yerde dağınık halde duruyor ver her yenilemede resimlerin yeri değişiyor. Resimleri büyütmenin iki ayrı yolu var birincisi resmi tıklamak ikinciside büyütmek istediğiniz resmin üzerinde mouseyi basılı tutmak. Bir resmi basılı olarak tuttuğunuz zaman istediğiniz yere doğru sürükleyebiliyorsunuz.
Kullanımı
- Head head etiketleri arasına eklenmesi gereken bölümler.
<link media="all" type="text/css" rel="stylesheet" href="../Source/Assets/PhotoSurface.css" /> <link media="all" type="text/css" rel="stylesheet" href="./Assets/Demo.css" /> <script type="text/javascript" src="../Vendor/Mootools.js"></script> <script type="text/javascript" src="../Source/PhotoSurface.js"></script
JavaScript :
Eklentiyi çalıştıran komutların içine bakarsanız jpeg uzantılı resimlerin url adresleri bulunuyor. Eklentinin orjinali sadece bir resim desteklemekteydi. Bir resim farklı yerde görünüyordu. Bana pek mantıklı gelmediği için biraz oynadım kodlarla surface.add vs satırını kopyala yapıştır yapıp sayfa içerisinde görülen reism adedini çoğaltabilirsiniz. Verdiğim download linki eklentinin orjinali olduğu için sadece bir resim ekleyebiliyorsunuz. Aşağıdaki kodları alıp orjnal kodlarla değiştirirseniz sorun ortadan kalkacaktır.
<script type="text/javascript"> var goBasic = function(surface) { // clear existing photos surface.empty(); // yeni resim ekleme surface.add("./Assets/indonesia.jpg"); surface.add("./Assets/indonesia1.jpg"); surface.add("./Assets/indonesia2.jpg"); surface.add("./Assets/indonesia3.jpg"); surface.add("./Assets/indonesia4.jpg"); surface.add("./Assets/indonesia5.jpg"); surface.add("./Assets/indonesia6.jpg"); surface.add("./Assets/indonesia7.jpg"); surface.add("./Assets/indonesia8.jpg"); surface.add("./Assets/indonesia9.jpg"); surface.add("./Assets/indonesia10.jpg"); surface.add("./Assets/indonesia11.jpg"); surface.add("./Assets/parambanan.jpg"); }; var goAdvanced = function(surface) { // clear existing photos surface.empty(); // lets get some super low res photos in there... for (var i=0, l=1; i<l; i++) { new Photo("./Assets/SkylineSuperLow.jpg", { onLoaded: function(photo) { photo.removeEvents('loaded'); surface.add(photo); }, loadingIcon: "../Source/Assets/Hourglass.png" }); } // now hook into the surface activation and deactivation events to manage the resolution swap surface.addEvent('activated', function(photo) { // ensure surface will redraw when high res photo loaded photo.addEvent('set', function(photo) { photo.removeEvents(); surface.update({"layers":"active"}); }); // and change the photo photo.set(photo.path.replace("SuperLow", "High")); }); surface.addEvent('deactivated', function(photo) { photo.removeEvents(); photo.set(photo.path.replace("High", "SuperLow")); }.bind(this)); }; window.addEvent('domready', function() { // create the surface and attach it to a containing element on the page var surface = new PhotoSurface().attach($('surface')); // and our switches for modes var options = $('options').getElements('li'); options[0].addEvent('click', function(evt) { evt.stop(); goBasic(surface); options[1].removeClass('selected'); options[0].addClass('selected'); }); options[1].addEvent('click', function(evt) { evt.stop(); goAdvanced(surface); options[0].removeClass('selected'); options[1].addClass('selected'); }); // default option goBasic(surface); options[0].addClass('selected'); }); </script>
- Body etiketleri arasına eklemeniz gereken bölüm.
Html :
<div id='demo'> <div id='header'> <h1>PhotoSurface Demo</h1> </div> <div id='options'> <ul> <li>Basic</li> <li>Advanced</li> </ul> </div> <div id='surface'> </div> </div>