Menü Kapat

Hayat bir alem :)

Ömür Yanıkoğlu'nun kişisel bloğu…

Kategori / Arayüz Geliştirme

AngularJS’de dizi (array) içindeki bir objeyi (object) nasıl güncelleriz?

AngularJS ile geliştirdiğim bir sayfa, Chrome’da sorunsuz çalışırken, Internet Explorer’ın son sürümünde saçmalıyordu. Bunun sebebini araştırırken ilginç bir bilgi edindim: AngularJS’de dizi içindeki bir nesneyi güncellerken klasik değişken atamasını kullanmak doğru bir yaklaşım değil! Yani normalde aşağıdaki şekilde güncelleme yaparız: var dizi = [ { /* birinci nesne */ }, { /* ikinci nesne */ } ]; var […]

Pure CSS3 Fade In Dropdown Menu

Artık web projelerinde mümkün olan tüm animasyonlar için CSS3 geçişlerini kullanıyoruz (CSS3 Transitions). Eğer IE8 ve 9 için destek vermemiz gerekirse, Modernizr ve jQuery kullanarak fallback uyguluyoruz. Ben bu örnekte fallback olayına girmedim fakat tekrar fırsat bulduğumda yazıyı güncelleyeceğim.

Yazının konusu olan, sadee CSS3 kullanarak fade in menu yapmanın püf noktasını geçtiğimiz günlerde, Barcin.com’u kodlarken tam olarak kavradım. Aylardız zaten CSS3 menü kullanıyordum fakat bunu Javascript ile menü elemanlarına mouseenter/mouseleave anında class vererek/kaldırarak yapıyordum ve timeout kullanmam gerektiği için de %100 verimlilikte çalışmıyordu. Şimdi sizinle paylaşacağım ipucu sayesinde, Javascripte gerek kalmadan, menünüzü sadece CSS3 kullanarak stabil bir şekilde çalıştırabileceksiniz. Devamını Oku

Javascript Loglarını Yönetmek

Projelerin geliştirme aşamasında sıklıkla console.log deyimini kullanıp, sonucu izleyerek çalışmamızı sürdürürüz. Hataları daha çabuk farketmek ve kademe kademe ilerlemek için oldukça elverişli bir yöntem.

Bunun yanında console.info, console.warn, console.error, console.clear gibi metodlarından da faydalanırız. Hata yakalarken, aradığımızı daha kolay görelim diye ya da  sırf renkli bir görüntü oluşması için :)

Ve projenin sonunda bu logları tek tek arayıp yoruma alırız. Herkes böyle yapmıyordur muhakkak ama yapanlarınız var, biliyorum, ben de sizden biriydim çünkü :)

Temelde iki sebeple yaparız bunu:

  1. Javascritp console desteği olmayan tarayıcılarda javascript hatası almamak için
  2. Son kullanıcı bu logları görmesin diye

İlki daha önemli olmakla beraber, ikisi de makul sebepler. Devamını Oku

translate3d vs translateY

Modern tarayıcılara göre CSS kodu yazıp IE8 gibi arayıcılarda gerekli düzenlemeleri yapma yaklaşımını benimsediğimden beri HTML elemanlarını dikeyde ortalamak için aşağıdaki kodu kullanıyorum: top: 50%; @include transform(translateY(-50%)); Bugün güncel ön yüzünü kodladığım güncel bir projenin fancybox’una baktığımda ileri geri oklarının, fareyi hareket ettirdikçe ya da fare ile okların üzerine gelindiğinde aşağı/yukarı 1pxlik bir kıpırdama yaptığını gördüm. Büyük […]

Cross Browser: CSS Hacks vs. Javascript Methods

IE 9 ve altı için <!–[if IE 9]> vb. tanımlamalarla tarayıcıya özel css yüklenebiliyordu. Fakat IE 10 ile birlikte bu tanımlamalar devre dışı bıraklıdı.

bkz. http://www.sitepoint.com/microsoft-drop-ie10-conditional-comments/

IE 10 ve üstü için spesifik tanımlamalar yapma ihtiyacı doğduğundan bununla ilgili bir araştırma yaptım.

Diğer tarayıcılar için bu tarz bir tanımlama bulunmuyor. Arayüz geliştiriciler genelde CSS Hack kullanarak tarayıcılara özel çözümler üretiyorlar.

Ancak Javascript kullanarak  <html> tagına tarayıcı adı, tarayıcı sürümü ve işletim sistemi class’ı yazdırmak ve/veya html dokümanına tarayıcıya özel sitil dosyası yazdırmak mümkün. Devamını Oku

Responsive Web Siteleri Geliştirilirken Dikkat Edilmesi Gerekenler

Merhaba, Son bir yıl içinde 15 tane Responsive Front-End Kodlama yaptım. Bunlar genellikle, ilgili projenin arayüz tasarımını geniş ekranlarda sağlıklı bir şekilde çalışır hale getirdikten sonra, “deneysel olarak” mobil uyumlu hale getirmek şeklinde oldu. Genel kullanımın da bu yönde olduğunu düşünüyorum ama belki de yanılıyorumdur; çünkü Elegant Themes‘ten satın aldığım bir temanın (bkz. nimble) psd […]

Google Chrome’da yazı tipi sorunu!

Chrome’da bazen sadece kendi bilgisayarınızda yazı tipi sorunu olabiliyor; tespit ettiğiniz yazı tipi hatasını, başka bir bilgisayarda test ettiğinizde aynı hatayı almadığınızı görüyorsunuz. Bunu sebebi “Yazı Tipi”dir. Localde yüklü olan fontu kullanmaya yönelik aşağıdaki gibi bir css kullanımı yaparız:

font-family: 'Helvetica Neue', Helvetica, sans-serif; Devamını Oku

Placeholder Fix for Internet Explorer

Unfortunately, placeholders don’t run versions of IE9 and down. But we can solve this problem easily is a small jQuery code: if( $.browser.msie && parseInt($.browser.version, 10) < 10 ) { if( $( '[placeholder]' ).length ) { $( '[placeholder]' ).focus(function(){ if( $(this).val() == $(this).attr('placeholder') ) { $(this).val(''); } }).blur(function(){ if( $(this).val() == '' ) { $(this).val( […]