jQuery de sayfamıza diğer unsurları ekleyebilmek için iki yol vardır. .insertBefore() ve .before() …
İkiside aynı görevi üstlenmekte, aralarındaki fark ise diğer metodlarla aralarında olan bağlılıktır..(Lütfen terimlerde kasılıp kalmak yerine konuyu okumaya devam ediniz..)
Bir diğer metod çiftimiz ise .insertAfter() ve .after(), bu metodlar da sayfaya içerik eklememizi, sayfada kullanıcıya hitap etmemizi, kullanıcının hareketi ile sayfada ki jquery’nin hayata geçmesini sağlar.. Fakat bu metodların en önemli özelliği diğer tüm elementleri atlayıp kendini gösterebilmesidir.Yani sitede başka bir metod daha kullanılıyorsa insertafter ve after seçenekleri ile biz o metodları hiç görmeden bu iki metodu harekete geçirebiliriz. Örneğin bizim sayfamızda da görüdüğünüz gibi; back to top, yada başa dön olarak adlandırdığımız jquery kalıbını ele alalım.. Back to top elemanını kullanabilmemiz için .insertAfter() seçeneğini kullanmamız gerekiyor. Hemen örneklendirelim;
$(document).ready(function() {
$('<a href="#top">başa dön</a>').insertAfter('div.chapter p');
$('<a id="top"></a>');
});
[ad]
Neden .After() metodunu kullanmadık diye içinizden bir uyartı kopuverirse şöyle söyleyeyim .After() metodu kapsar .insertAfter() metodu.. yani after metodunu kullanabilmemiz için javascript kodlarımızda şöyle bir değişikliğe uğramamız gerekiyor;
$('div.chapter p').after('<a href="#top">başa dön</a>');
Birşeye dikkatinizi çekmek isterim;
.insertAfter metodu ile oluşturduğumuz kodda <a> tarafından korunan link zincirine devam edilebilir. .After() yöntemi ile diğer ek metodlardan öne geçebilmrk için $(‘div.chapter p’) seçicisini kullanmak durumunda kaldk. jQuery mantığıyla düşünürsek aslında paragrafın, sayfanın, bölümün yada biz neyi gösterdiysek onun başına geçebilmesi için sitenin o bölgesine link vermiş oluyoruz.. Link denince sayfa yenilenmesi akla gelebilir fakat jQuery mantığı sayfa yenilemeyi kabul etmediği için bize böyle bir kolaylık tanımıştır.
Evet kodumuzu yazdık fakat bu kodlarla istediğimiz elde edemeyiz.. Çalışmamıza hala id=”top” parametresini kodumuza eklememiz gerekmektedir.
$(document).ready(function() {
$('<a href="#top">başa dön</a>').insertAfter('div.chapter p');
$('<a id="top" name="top"></a>').prependTo('body');
});
Bu ek kodu sayfamızın <body> kısmının sağına (sonrasına) diğer bir deyişlede sayfamızın başına eklememiz gerekiyor. Linkler için .insterAfter, zincir için ise .prependTo() metodları sayesinde artık hemen hemen her sitede gördüğümüz başa dön ibaresini kendi sitemizde dilediğimizce yayınlayabiliriz.
Başa dön bağlantılarını kullandıktan sonra Başa dön ibarelerinin kullanıcıya görünmez olması mantıklı değildir. Back to top (başa dön) kalıbı kullanıcının sürekli kullanabileceği bir kalıp olması dolayısıyla bu konuda buna yer vermeyi düşünmüyorum.. Derslerimiz şimdilik yalnız jquery kodlarımızla geçmektedir farkındayız.. Yakında örnekli sitemizle daha kaliteli dersleri hedefliyorum.. Anlamadığınız yeri sorabilirsiniz.. İlginiz için teşekkürler.