Archive for the 'JavaScript' Category
Ext.Ajax.request kullandığınızda sorgunuzun süresi 30 saniyeyi geçerse timeout‘a düşüyor ve sonuç dönmüyor. Bunun nedeni dediğim gibi Ext.Ajax.request‘in default timeout süresi 30 sn olması.
Bunun önüne nasıl geçebiliriz? Yani sorgumuz bitene kadar timeout hatası almak istemiyorsak, Ext.onReady içinde aşağıdaki kod parçacığını eklersek hata almaktan kurtuluruz.
|
1 |
Ext.Ajax.timeout = 90000; // 30 sn olan default timeout süresini 90 sn'ye çıkarır |
Yukarıda belirtilen timeout süresini istediğimiz süreye milisaniye cinsinden belirterek çıkarabiliriz.
Google Maps’de bir rota çizdirdiniz ve bunu silmek istiyorsanız aşağıda farklı iki kod parçası var, bunları kullanabilirsiniz. İlk örnekte bazı kullanım durumlarında rota ile ilgili bilgileri alabiliyorsunuz fakat harita üzerinde çizim işlemini gerçekleştiremiyorsunuz. O yüzden her iki örneğide yazayım dedim. İkinci örnekteki kod parçasını kullanırsanız daha doğru olur diye düşünüyorum.
|
1 |
directionsDisplay.setMap(null); |
|
1 |
directionsDisplay.setDirections({routes: new Array()}); |
Başlıkta içeriği açıkça ifade edemedim. Olay şu; harita üzerine tıklayarak iki adet marker koydunuz ve rota bulmasını istediniz. Oluşan rotada hem rota sonucunda ortaya çıkan ön tanımlı olarak gelen A ve B markerları ve sizin koydunuz kırmızı harita markerları görünecektir. Bunu engellemek için aşağıdaki kod parçasını kullanabilirsiniz.
|
1 |
directionsDisplay.setOptions( { suppressMarkers: true } ); |

Google Maps üzerinde tanımladığınız event’i yani listener’ı silmek isterseniz aşağıdaki kod parçasını kullanarak silebilirsiniz.
Örneğin daha önce tanımladığımız bir click listener’ımız olsun ve bunu silmek istediğimizi varsayalım;
|
1 |
google.maps.event.clearListeners(map, 'click'); |
kod parçasıyla işlemimizi tamamlıyoruz.
Olmasını istemem ama oldu da BlackBerry ile cebelleşmek durumunda kaldınız ve 6.versiyonun aşağısındaki işletim sistemlerinde çoğu şeyi desteklemediği için kısıtlamalarda bulunacaksınız. Bunun için öncelikle BB’nin versiyonunu öğrenmeye gerek duyacaksınız. Aşağıdaki ufak kod parçası işimizi görecektir.
|
1 |
var agent = /BlackBerry\w+\/([\d\.]+)/i.exec(navigator.userAgent); |
Eğer sadece yukarıdakinin sonucuna bakacak olursak, örneğin;
|
1 |
BlackBerry9000/5.0.0.554,5.0.0.554 |
gibi bir değerle karşılaşmış olacağız.
Bizim işimize yarayacak olan kısım 5.0.0.554 değeridir. Bu değeri de;
|
1 |
var versiyonDegeri = agent[1]; |
kod parçasını kullanarak elde etmiş oluyoruz.
Happy coding
Moment.js; tarih işlemleri için kullanımı kolay, hafif(development-18.2kb, production-2.6kb) bir javascript kütüphanesidir. Kütüphaneyi bu adresten indirebilirsiniz. Aşağıda kullanımıyla ilgili örnekleri de ekliyorum.
|
1 2 |
var now = moment();
console.log(now.format('dddd, MMMM Do YYYY, h:mm:ss a')); |
Bu kodun çıktısı şu şekilde olacaktır;
|
1 |
Wednesday, November 23rd 2011, 3:34:45 pm |
|
1 2 |
var halloween = moment([2011, 9, 31]); \\ October 31st
console.log(halloween.fromNow()); |
Çıktısı şu şekildedir;
|
1 |
24 days ago |
|
1 2 |
var now = moment().add('days', 9);
console.log(now.format('dddd, MMMM Do YYYY')); |
Çıktısı;
|
1 |
Friday, December 2nd 2011 |
|
1 2 3 |
var now = moment();
moment.lang('fr');
console.log(now.format('LLLL')); |
Çıktısı;
|
1 |
mercredi 23 novembre 2011 15:34 |
Not: Farklı dil seçeneklerini kullanmak için; örneğin Türkçe için, tagi arasına koyduktan sonra, tr.js adında bir dosya açıyoruz, aşağıdaki kodu yapıştırıp Türkçe’ye çeviriyoruz ![]()
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
moment.lang('fr', {
months : "Janvier_Février_Mars_Avril_Mai_Juin_Juillet_Aout_Septembre_Octobre_Novembre_Décembre".split("_"),
monthsShort : "Jan_Fev_Mar_Avr_Mai_Juin_Juil_Aou_Sep_Oct_Nov_Dec".split("_"),
weekdays : "Dimanche_Lundi_Mardi_Mercredi_Jeudi_Vendredi_Samedi".split("_"),
weekdaysShort : "Dim_Lun_Mar_Mer_Jeu_Ven_Sam".split("_"),
longDateFormat : {
L : "DD/MM/YYYY",
LL : "D MMMM YYYY",
LLL : "D MMMM YYYY HH:mm",
LLLL : "dddd, D MMMM YYYY HH:mm"
},
relativeTime : {
future : "in %s",
past : "il y a %s",
s : "secondes",
m : "une minute",
mm : "%d minutes",
h : "une heure",
hh : "%d heures",
d : "un jour",
dd : "%d jours",
M : "un mois",
MM : "%d mois",
y : "une année",
yy : "%d années"
},
ordinal : function (number) {
return (~~ (number % 100 / 10) === 1) ? 'er' : 'ème';
}
}); |
İyi çalışmalar
Herhangi bir textarea elemanını html içinde çok basitçe sadece okunur hale getirebiliriz(yani içerisine hiçbir şey yazılamaz).
1 <textarea readonly="true"></textarea>
şeklinde ya da
1 <textarea disabled="true"></textarea>
şeklinde yapabiliyoruz. Eğer normal textarea yerine zengin metin editörlerinden biri olan TinyMCE kullanıyorsanız bunu direkt olarak yapmak biraz sıkıntı oluyor(en azından ben yapamadım
yapabilen varsa söylesin!). Bu sorunu çözebilmek için şöyle ufak bir kod parçağı işimizi görecektir.
123 <script type="text/javascript"><span> tinyMCE.get("editorId").ma</span>keReadOnly(readonly);</script>
Herkese kolaylıklar…
Öncelikle JQuery nedir? Ne değildir? İnceleyelim…
jQuery nedir ve kimler tarafından kullanılıyor?
jQuery hem javaScript hem ajax hem de efekt kütüphanesi olarak kullanılabilen bir framework’dür. 2006′nın Ocak ayında bir javaScript gurusu olan John Resig tarafından duyurulmuş. Şu anda ise 15 kişilik bir ekip tarafından gelişimi sürdürülüyor. Lisans konusuna da kısaca değinmek gerekirse, MIT veya GPL lisansının şartlarına uyduğunuz sürece kendi uygulamalarınızda kullanabiliyorsunuz. Bu konuda jQuery’nin resmi web sitesi olan www.jquery.com‘dan daha fazla bilgi alabilirsiniz. Hem bu web sitesinden jQuery ile ilgili dokümantasyona, eğitsellere, eklentilere ve sorularınızı yazabileceğiniz foruma da ulaşabilirsiniz.
jQuery çok geniş bir kullanıcı kitlesine sahiptir. Bunlardan da biraz örnek vermek istiyorum. Sosyal haber sitesi Digg, açık kaynak kodlu projelere ev sahipliği yapan SourceForge, blog sitelerini analiz eden Technorati, RSS kaynaklarımızı yönettiğimiz FeedBurner ve birçoğumuzun kullandığı blog yazılımı WordPress bu örneklerden yalnızca birkaçıdır. Daha fazlası için jQuery Kullanan Siteler sayfasına bakabilirsiniz.
Kaynak: eburhan
Evet kısaca eburhan’ın jquery tanımlamasına göz attıktan sonra, şimdi gelelim Scroll Follow plugin’i ne işe yarar nasıl kullanılır inceleyelim. Scroll Follow‘un sitesinde nasıl kullanıldığına dair bir açıklama var, şimdi bunu Türkçe olarak burada anlatacağım.
Gereksinimler
- jQuery
- jQuery UI Core
- ve son olarak kullanacağımız eklenti jQuery Scroll Follow
İsteğe Bağlı Olarak
- jQuery Easing Plugin
- jQuery Cookie Plugin indirilerek çeşitli işler için kullanılabilir.
Kurulum
- Öncelikle sayfamıza jQuery kütüphanesini ekliyoruz.
1<script type="text/javascript" src="jquery.js"></script> - Daha sonra Scroll Follow eklentimizi ve gerekli eklentilerimizi ekliyoruz.
12<script type="text/javascript" src="ui.core.js"></script><script type="text/javascript" src="jquery.scrollFollow.js"></script> - Son olarak kaydıracağımız katmanın id’si ile birlikte scrollFollow fonksiyonumuz çağırıyoruz ve katmanımız sayfamız aşağı indikçe kaymaya hazır hale geliyor.
123<script type="text/javascript">$('#exampleId').scrollFollow();</script>
|
1 |
Örneklere bakmak ve daha detaylı bilgi almak için eklenti <a href="http://kitchen.net-perspective.com/open-source/scroll-follow/" target="_blank">sayfasını</a> ziyaret edin. |
Web uygulaması geliştirenler iyi bilirler, ie6 bu kişiler için çoğu zaman sorun çıkarmaktadır. Bizim de yazdığımız uygulama şu an için ie6 üzerinde kullanılacağı için genellikle sorun yaşıyoruz :] Bunun en sonuncusu ise css üzerinde a:hover özelliğinde karşımıza çıktı. Eğer <a></a> taglerini kullanacaksanız ve içinde href kullanmayıp onclick eventini kullanmak isterseniz muhtemelen şu şekilde bir yapı kurabilirsiniz: <a onclick=”goToFunction();” >hede</a> eğer bunu kullanıp css dosyanızda da a:hover{ blah: blah; } tarzında bir özellik kullanırsanız muhtemelen çalışmayacaktır (en azından bende çalışmadı :] ). Bunun önüne geçmek için linkimizin içine href=”#” koymamız yeterli. Yani linkimiz şu şekilde olmalı <a href=”#” onclick=”goToFunction();” >hede</a>