Bu yazımızda jQuery ile hazırladığımız bir sayfada, Ajax isteği ile Reaction Framework olayları oluşturup istediğimiz sayfayı animasyonlu bir şekilde tarayıcımıza nasıl getireceğimizi öğreneceğiz.
Öncelikle arayüz sayfamızı hazırlayarak başlıyoruz. Arayüz sayfamızda HTML ve CSS yardımıyla sayfa yapımızı oluşturalım. HTML sayfamızın (index.cfm) <body> etiketleri arasına aşağıdaki HTML kodu yazıyoruz:
<div class="page">
<div>
<ul id="menu">
<li id="about"><a href="#" title="about">About</a></li>
<li id="portfolio"><a href="#" title="portfolio">Portfolio</a></li>
<li id="contact"><a href="#" title="contact">Contact</a></li>
</ul>
<br style="clear:both;" />
</div>
<div id="outcontent">
<div id="loading">LOADING</div>
<div class="content"></div>
</div>
</div>
Sayfamızdaki <head> etiketleri arasına aşağıdaki CSS kodunu yazıyoruz:
Daha sonra <head> etiketleri arasına yani yukarıdaki CSS’in üstüne jQuery kodumuzu ekliyoruz:
<script>
// When the document loads do everything inside here ...
$(document).ready(function(){
$('.content').load('page.cfm'); //by default initally load text from page.cfm
$('#menu a').click(function() { //start function when any link is clicked
$(".content").slideUp("slow");
var content_show = $(this).attr("title"); //retrieve title of link so we can compare with php file
$.ajax({method: "get",url: "page.cfm",data: "event="+content_show, beforeSend: function(){$("#loading").show("fast");}, //show loading just when link is clicked
complete: function(){ $("#loading").hide("fast");}, //stop showing loading when the process is complete
success: function(html){ //so, if data is retrieved, store it in html
$(".content").show("slow"); //animation
$(".content").html(html); //show the html inside .content div
}
}); //close $.ajax(
}); //close click(
}); //close $(
</script>
Kodları birleştirip index.cfm dosyasını kaydettiğimizde arayüzü tamamlamış oluyoruz. index.cfm About, Portfolio ve Contact linklerine tıklandığında page.cfm dosyasına Ajax isteği gönderiyor ve ilgili sayfayı “event” paremetresinde belirtiyor. page.cfm de gelen parametrenin değerine bakarak ilgili dosyayı görüntülüyor. Sırada Reaction Framework’le hazırlayacağımız page.cfm ve page.cfc dosyaları var. page.cfm dosyasının içeriği oldukça basit:
<cf_controller component="page" eventList="about,portfolio,contact" />
<cfinclude template="#template#" />
Gördüğünüz üzere page.cfm controller component’i olarak page.cfc’yi kullanıyor ve about, portfolio ve contact eventlerini destekliyor. Ve template değişkeninde adı yazan dosyayı tarayıcıda görüntülüyor. page.cfc içeriği ise şöyle:
<cfcomponent extends="Reaction.Controller">
<cffunction name="onStart" access="public">
<cfset view.template="default.cfm" />
</cffunction>
<cffunction name="about" access="public">
<cfset view.template="about.cfm" />
</cffunction>
<cffunction name="portfolio" access="public">
<cfset view.template="portfolio.cfm" />
</cffunction>
<cffunction name="contact" access="public">
<cfset view.template="contact.cfm" />
</cffunction>
</cfcomponent>
onStart olayı her zaman ilk çalışan olaydır ve template değişkeninin ilk değerini belirliyor. Diğer olaylardan herhangi biri çalıştırıldığında template değişkeninin değeri değiştiriliyor. page.cfm ise template değişkenindeki dosyayı çalıştırıyor.
Bugünlük bu kadar soru ve görüşleriniz için yorum bırakabilirsiniz.
İyi güzel hoş olmuşta bir örnek sayfa göstersen dahada hoş olabilir..
örnekl göstermek yerine hoca bunları eitim seti hanlinde olujsturup stmak istemesmisin iyi günler