標籤為 “jQuery” 的文章

在表單內的任一輸入框按下Enter後,預設情況下表單會自動提交,若使用preventDefault阻止後,表單將從此不能Submit,怎麼辦?
一般我們設計HTML表單後,若在Form內的文字框按下Enter,預設會觸發Submit事件,造成表單提交。但若有某些文字框我們有特別的用途,希望它按下Enter後不要Submit表單,而是去做一些特定的動作,此時我們可以先使用preventDefault,之後再讓表單可以被Submit嗎?
繼續閱讀

LazyLoad特效,其實已經流行好一陣子了,它是一個jQuery的外掛,可以讓還沒出現在畫面上的網頁元素先別載入,直到使用者捲動捲軸,移到該元素時,它才載入。這對於網站上塞滿圖片的人可是一大福音,因為使用LazyLoad技巧,可以提升網站的載入速度。
Wow,這是怎麼辦到的? 繼續閱讀
[圖片來源:blog.sharkspace.com]
最近遇到想做SEO的客戶,因為該客戶現有的網站選單,主要以Flash製作,觀看網站的原始碼就很容易了解spider應該很難分析全站的架構。不過因為該站經營三、四年了,除了要修改選單為適合SEO的方式,我想最好也要保持選單與視覺設計的一致性,除了不要破壞視覺識別,也希望讓操作性的影響降到最低。
繼續閱讀
其實jQuery本身透過.load函式就簡化了非常多傳統統AJAX的使用步驟,而EZJax外掛更加簡化,讓幾乎不懂AJAX原理與細節的人也能很容易的達成動態載入內容的功能,除了有助於搜尋引擎最佳化(SEO)外,在載入內容時也能安排一些滑動或漸入漸出的特效。
另外根據官網的說明,此外掛支援 IE6以上, FireFox, Safari, 及 Opera。先到EZJax官網下載EZJax,然後就開始試用吧!
要使用EZJax外掛,首先當然是載入EZJax:
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.ezjax.js"></script>
下一步就是呼叫ezjax,進行初始化,然後就可以用囉:
$(document).ready(function(){<br /> $('.ezjax').ezjax();<br />});接下來的code,就是動態載入123.html的內容到指定的區域,首先放一個class為ezjax的連結:
<a class="ezjax" href="http://www.blogger.com/123.html">載入</a>
我們希望點下連結後,會動態載入另一個頁面的內容,在想要秀出內容的地方放一個id為ezjax_content的div標籤就大功告成了:
<div id="ezjax_content"></div>
Javascript在十幾年前的地位,還僅只是個修飾網頁介面的工具箱,雖然它號稱是做給非程式人員用的,但這簡直就是鬼話。約十幾年前,我在學校正開始學習寫網頁時,javascript僅是用來作跑馬燈、連結選單(mouse移到選項上會彈出選單可是當時超炫的功能)、萬年曆、計算機…等等效果的語言。
最近javascript被炒紅,完全是因為Ajax(Asynchronous JavaScript And XML)的關係。那為什麼Ajax會紅,就是web 2.0被炒紅的關係,沒錯,這些事在達康泡沫後讓大家都超興奮的。Ajax會被炒紅,也跟google和yahoo推出的應用服務有相當大的關係,這兩大巨人使用Ajax技術,讓頁面靈活有彈性,帶給使用者深刻的印象,自然Ajax也紅了,相關應用也像雨後春筍一樣大量露出了。
不過Ajax不是新東西,它是由以Javascript為主配方加上DHTML + DOM + CSS + XMLHttp + XML拼湊出來的應用技巧,讓javascript不在局限在客戶端應用,硬是把javascript立即反應的效果,延伸到Server端,帶來全新的使用經驗。
網站應用的功能、架構趨於成熟,其實還不足以讓普遍的使用者喜歡上它,我們都知道關鍵在介面操作。使用者也許完全不清楚程式架構,他們根本不在乎你的程式版本、架構,他們重視的是介面操作的體驗 (當然前提是功能運作正確)。於是javascript又開始受到重視了。
Ajax走紅,讓javascript得以被重新檢視,各式各樣的javascript framework/library也陸續推出,其中比較有名的有prototype, jQuery, YUI…等。基於個人喜歡簡潔、輕量級的工具,我直覺先選擇了jQuery來學習。
那麼jQuery是用來幹嘛的呢?
從前從前,網頁的原始碼就像一盤義大利麵,那時MVC(Model, View, Control)模式架構還沒普及,HTML語法包括了結構、內容、外觀的定義,直到動態網頁問世,把內容部份取代為server page的語法,開始從外部資料來源提取內容。後來開始有人對HTML的結構不滿意,XML就出現了,接著XHTML開始普及。外觀的更新需求,則是出現了XSL、CSS等。尤其是CSS在近幾年部落格服務中被大量應用,知名度也愈來愈高。
CSS的選擇器(Selector)概念被廣泛接受,就代表會有愈來愈多人熟悉這種概念,於是這種概念就成為「好用的特性」後選人之一了。jQuery聰明的作法,就是加以利用選擇器概念,網頁設計師只要定義出視覺元素、區塊,再來要用jQuery做出什麼樣的視覺效果,就變得簡單了。
jQuery它是一個javascript的函式庫,所以可以預期的是我們只要帶上它(目前最新版1.3.2的jQuery,是一個50幾k的js檔),就可以"簡單"的使用javascript,因為它幫我們把很多複雜的操作、判斷通通包裝成一個個簡單的函式了,有了現有的知識,jQuery就能大量簡化javascript的操作了。
製作垂直的滑動選單再也不是難事了,這裡使用的是jQuery這個javascript的framework。以下開始介紹作法:
我們先來製作一下選單的部份,在body標籤內放上這樣的內容:
<dl>
<dt><a href="#">Item1</a></dt>
<dd>
<ul>
<li><a href="1.html">11111</a></li>
<li><a href="2.html">22222</a></li>
</ul>
</dd>
<dt><a href="#">Item2</a></dt>
<dd>
第二選單的內容在這裡: <br/><a href="a.html">aaaaa</a>
</dd>
<dt><a href="#">Item3</a></dt>
<dd>
<img width="180" src="http://events.jquery.com/img/jquery-logo.png">
</dd>
</dl>
確認了選單的主結構及內容,我們就可以套上程式及CSS囉!~
請在head標籤內放上:
<script src="http://jquery.com/src/jquery.js"></script>
<script>
$(document).ready(function(){ //網頁讀取完畢後
//把所有dd標籤的內容都hide起來
$("dd").hide();
//按下dt元素連結
$("dt a").click(function() {
$("dd").slideUp("slow"); //子分頁
//下一個主選單以下的內容要slide down
$(this).parent().next().slideDown("slow");
return false;
});
});
</script>
<style>
dl { width: 200px; background: #fff;}
dt { background: #775; padding: 2px; margin: 2px; }
dd { margin: 2px; }
dt a { color: #FFF; }
dd a { color: #000; }
</style>
如此就大功告成了!