avatar

Imgfix
İmaj ve galerilerinizin sunumunu kolaylaştıracak pratik bir araç...

13/07/2014
Hakan Özakar

Tasarladığınız sayfalarda imaj galerilerinizi yerleştirmek genelde sıkıntılı olur. Son kullanıcının seçeceği fotoğrafların boyut oranları tutarsızdır. İmajlara ufak animasyonlar eklemek, kapak layerları (katmanları) oluşturmak kısa kısa ama bol miktarda javascript ve css yazmayı gerektirir. Zaman kaybından kurtulmak için sıklıkla açık kaynak araçlar kullanırız. Bu açık kaynak koleksiyonuna ekleyebileceğiniz bir araç olarak "imgfix" iyi bir seçim olabilir.

Imgfix indirmek için: http://github.com/hozakar/imgfix

Imgfix Nedir?

Imgfix imajlarınızı dinamik olarak boyutlandırmak ve çeşitli hover efektleri uygulamak için jQuery ile geliştirilmiş basit bir araçtır. Imgfix efektleri yalnızca CSS ile uygular.

Nasıl çalışır?

Imgfix uygulandığı elementleri organize ederek çeşitli CSS özellikleri uygular.

Not: Imgfix imajları boyutlandırırken taşıyıcı elementin boyutlarını baz alır. Yani imgfix uyguladığınız elementlerin boyutlarını belirlemeyi unutmamalısınız...

 

Örnekler

Basit Kullanım

Öncelikle gerekli JavaScript dosyalarını eklemelisiniz.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="js/imgfix.min.js"></script>

 Daha sonra elementinize basitçe .imgfix()'i uygulayın,

<div id="element_1">
  <img src="img/img01.jpg" alt="img01" />
</div>
<script>
  $('#element_1').imgfix();
</script>
img01

ya da ana elementinizin "data-fix-img" özelliğinde imaj adresini belirtebilirsiniz.

<div id="element_2" data-fix-img="img/img02.jpg"></div>
<script>
  $('#element_2').imgfix();
</script>
 

 

scale ve filter özellikleri

Hover (işaretçi imajın üzerindeyken) durumunda "filter" (yalnızca webkit tarayıcılarda) ve "scale" CSS özellikleri uygulamak.

<div class="row">
  <div class="col-xs-12 col-sm-4">
    <div class="scale" data-fix-img="http://imgfix.beltslib.net/img/img03.jpg">
    </div>
  </div>
  <div class="col-xs-12 col-sm-4">
    <div class="grayscale" data-fix-img="http://imgfix.beltslib.net/img/img04.jpg">
    </div>
  </div>
  <div class="col-xs-12 col-sm-4">
    <div class="sepia">
      <a href="#">
        <img src="http://imgfix.beltslib.net/img/img05.jpg" alt="img05" />
      </a>
    </div>
  </div>
</div>
<script>
  $('.scale').imgfix({
    scale: 3,
    interval: 1200
  });
  $('.grayscale').imgfix({
    grayscale: 0,
    defaults: {
      grayscale: 100
    }
  });
  $('.sepia').imgfix({
    scale: 1.2,
    sepia: 50,
    interval: 800
  });
</script>
 
 
img05

 

Kapak layerları (katmanları)

Imgfix ile kapak layerları oluşturabilirsiniz.

fade-in:

<div class="row">
  <div class="col-xs-12 col-sm-4">
    <div class="cover-fade-in" data-fix-img="img/img07.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
  <div class="col-xs-12 col-sm-4">
    <div class="cover-fade-in" data-fix-img="img/img08.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
  <div class="col-xs-12 col-sm-4">
    <div class="cover-fade-in" data-fix-img="img/img09.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
</div>
<script>
  $('.cover-fade-in').imgfix({
    scale: 1.25,
    coverclass: 'cover',
    cover: {
      fade: 'in'
    }
  });
</script>

KAPAK

KAPAK

KAPAK

slide-in-left:

<div class="row">
  <div class="col-xs-12 col-sm-4">
    <div class="cover-slide-in" data-fix-img="img/img10.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
  <div class="col-xs-12 col-sm-4">
    <div class="cover-slide-in" data-fix-img="img/img11.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
  <div class="col-xs-12 col-sm-4">
    <div class="cover-slide-in" data-fix-img="img/img12.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
</div>
<script>
  $('.cover-slide-in').imgfix({
    scale: 1.25,
    coverclass: 'cover',
    cover: {
      slide: 'in-left'
    }
  });
</script>

KAPAK

KAPAK

KAPAK

slide-dynamic:

<div class="row">
  <div class="col-xs-12 col-sm-6 col-md-4">
    <div class="cover-slide-dynamic" data-fix-img="img/img02.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
  <div class="col-xs-12 col-sm-6 col-md-4">
    <div class="cover-slide-dynamic" data-fix-img="img/img03.jpg">
      <div class="cover"><p>KAPAK</p></div>
    </div>
  </div>
  .
  .
  .
</div>
<script>
  $('.cover-slide-dynamic').imgfix({
    scale: 1.25,
    coverclass: 'cover',
    cover: {
      slide: 'dynamic'
    }
  });
</script>

KAPAK

KAPAK

KAPAK

KAPAK

KAPAK

KAPAK

 

Özellikler

 
fixin
İmaj taşıyıcı elementin içine sığdırılır. (Varsayılan değer 0)
 
scale
Hover durumunda (fare imajın üzerindeyken) imajın nasıl boyutlandırılacağını belirtir. 1 -> 100% anlamına gelir. (Varsayılan değer 1)
 
grayscale, sepia, hue, saturate, invert, brightness, contrast, blur
Webkit tarayıcılar için filter değerleri. (Varsayılan değer null)
 
defaults (nesne)
scale, grayscale, sepia, hue, saturate, invert, brightness, contrast, blur değerleri için varsayılan değerleri belirlemek amacı ile kullanılır.
 
width
Genişlik değeri. (varsayılan değer null)
 
height
Yükseklik değeri. Eğer "%" cinsinden verilirse başlangıç genişliğinin yüzdelik dilimi olarak hesaplanır. (varsayılan değer null)
 
protectaspectratio
En-boy oranını koru. Eğer "1" yani "true" olarak belirlendiyse ekran boyutlandırıldığında yükseklik değerini yeni genişlik değerine göre tekrar ayarlar. (Varsayılan değer 0)
 
interval
Hover durumunda imaja uygulanacak olan animasyonun milisaniye cinsinden süresini belirler. (Varsayılan değer 400)
 
easing
Hover durumunda imaja uygulanacak animasyonun css-easing değeri.
 
coverclass
Kapak layer'ını (katmanını) belirlemek içi kullanılacak seçici (class değeri).
 
cover (nesne)
Kapak layer'ına uygulanacak animasyonun tipi ve değerlerini belirlemek için kullanılır. Nesne içeriği aşağıdaki gibidir.
 
slide
Kapağın kayarak hareket etmesini sağlar.
Alabileceği değerler:
none (Kapalı - varsayılan değer)
in-up (Yukarıya doğru gir)
in-down (Aşağıya doğru gir)
in-right (Sağa doğru gir)
in-left (Sola doğru gir)
out-up (Yukarıya doğru çık)
out-down (Aşağıya doğru çık)
out-right (Sağa doğru çık)
out-left (Sola doğru çık)
dynamic (Dinamik olarak giriş yönünü kendisi belirler)
 
fade
Kapağın fade efekti ile belirmesini ya da kaybolmasını sağlar.
Alabileceği değerler:
none (Kapalı - varsayılan değer)
in (Kapak layer'ı fade efekti ile belirir)
out (Kapak layer'ı fade efekti ile kaybolur)
 
scale
Kapağın boyutlandırılarak belirmesini ya da kaybolmasını sağlar.
Alabileceği değerler:
none (Kapalı - varsayılan değer)
in (Kapak layer'ı 0'dan büyüyerek belirir)
out (Kapak layer'ı küçülerek kaybolur)
 
easing
Kapak animasyonu için uygulanacak animasyonun css-easing değeri.
 
delay
Kapak animasyonu başlamadan önce ne kadar bekleyeceğini milisaniye cinsinden belirlemek için kullanılır. (Varsayılan değer 0)
 
interval
Kapak animasyonunun süresini milisaniye cinsinden belirlemek için kullanılır. (Varsayılan değer 400)

 

Kullanım

Aşağıda imgfix nesnesinin tüm özelliklerini varsayılan değerleri ile birlikte görebilirsiniz. Aşağıdaki durum "$(element).imgfix();" in eşleniğidir...

$(element).imgfix({
  fixin: 0,
  scale: 1,
  grayscale: null,
  sepia: null,
  hue: null,
  saturate: null,
  invert: null,
  brightness: null,
  contrast: null,
  blur: null,
  defaults: {
    scale: 1,
    grayscale: null,
    sepia: null,
    hue: null,
    saturate: null,
    invert: null,
    brightness: null,
    contrast: null,
    blur: null,
  }
  width: null,
  height: null,
  protectaspectratio: 0,
  interval: 400,
  easing: '',
  coverclass: '',
  cover: {
    slide: 'none',
    fade: 'none',
    scale: 'none',
    easing: '',
    delay: 0,
    interval: 400
  }
});

 

Yorumlar Yorum Yap