最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JavaScript框架編程第2/2頁

 更新時(shí)間:2008年01月16日 20:46:09   作者:  
JavaScript框架編程


改變框架的載入頁面
對框架的引用就是對window對象的引用,利用window對象的location屬性,可以改變框架的導(dǎo)航,例如:
window.frames[0].location="1.html";

這就將頁面中第一個(gè)框架的頁面重定向到1.html,利用這個(gè)性質(zhì),甚至可以使用一條鏈接來更新多個(gè)框架。
<frameset rows="50%,50%">
      <frame src="1.html" />
      <frame src="2.html" />
</frameset>
<!--somecode-->
<a href="frame1.location='3.html;frame2.location='4.html'" >link</a>
<!--somecode-->





引用其他框架內(nèi)的JavaScript變量和函數(shù)
在介紹引用其他框架內(nèi)JavaScript變量和函數(shù)的技術(shù)之前,先來看以下代碼:
<script language="JavaScript" type="text/javascript">
<!--
function hello(){
       alert("hello,ajax!");
}
window.hello();
//-->
</script>

如果運(yùn)行了這段代碼,會彈出“hello,ajax!”的窗口,這正是執(zhí)行hello()函數(shù)的結(jié)果。那為什么hello()變成了window對象的方法呢?因?yàn)樵谝粋€(gè)頁面內(nèi)定義的所有全局變量和全局函數(shù)都是作為window對象的成員。例如:
var a=1;
alert(window.a);

就會彈出對話框顯示為1。同樣的原理,在不同框架之間共享變量和函數(shù),就是要通過window對象來調(diào)用。
例如:一個(gè)商品瀏覽頁面由兩個(gè)子框架組成,左側(cè)表示商品分類的鏈接;當(dāng)用戶單擊分類鏈接時(shí),右側(cè)顯示相應(yīng)的商品列表;用戶可以單擊商品旁的【購買】鏈接將商品加入購物車。
在這個(gè)例子中,可以利用左側(cè)導(dǎo)航頁面來存儲用戶希望購買的商品,因?yàn)楫?dāng)用戶單擊導(dǎo)航鏈接時(shí),變化的是另外一個(gè)頁面,即商品展示頁面,而導(dǎo)航頁面本身是不變的,因此其中的JavaScript變量不會丟失,可以用來存儲全局?jǐn)?shù)據(jù)。其實(shí)現(xiàn)原理如下:
假設(shè)左側(cè)頁面為link.html,右側(cè)頁面為show.html,頁面結(jié)構(gòu)如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title> New Document </title>
</head>
<frameset cols="20%,80%">
       <frame src="link.html" />
       <frame src="show.html" />
</frameset>
</html>

在show.html中展示的商品旁邊可以加入這樣一條語句:
<a href="void(0)" >加入購物車</a>
其中l(wèi)ink表示導(dǎo)航框架,在link.html頁面中定義了arrOrders數(shù)組來存儲商品的id,函數(shù)addToOrders()用來響應(yīng)商品旁邊【購買】鏈接的單擊事件,它接收的參數(shù)id表示商品的id,例子中是一個(gè)id為32068的商品:
<script language="JavaScript" type="text/javascript">
<!--
var arrOrders=new Array();
function addToOrders(id){
       arrOrders.push(id);
}
//-->
</script>

這樣,在結(jié)帳頁面或是購物車瀏覽頁面就可以用arrOrders來獲取所有準(zhǔn)備購買的商品。
框架可以使一個(gè)頁面劃分為功能獨(dú)立的多個(gè)模塊,每個(gè)模塊之間彼此獨(dú)立,但又可以通過window對象的引用來建立聯(lián)系,是Web開發(fā)中的一個(gè)重要機(jī)制。在Ajax開發(fā)中,還可以利用隱藏框架實(shí)現(xiàn)各種技巧,在后面介紹Ajax實(shí)例編程時(shí)可以發(fā)現(xiàn),無刷新上傳文件以及解決Ajax的前進(jìn)后退問題都會用到這種技術(shù)。

相關(guān)文章

最新評論

广东省| 水城县| 漳平市| 雷波县| 分宜县| 阿克| 廉江市| 宜章县| 浮山县| 山丹县| 田东县| 玛多县| 临邑县| 宜兰县| 西盟| 南康市| 固阳县| 册亨县| 浦北县| 石河子市| 崇文区| 松原市| 沁水县| 榆中县| 芦溪县| 云阳县| 景洪市| 苏尼特左旗| 湖南省| 潜山县| 平陆县| 临沭县| 宜兴市| 恩施市| 湖口县| 阿克| 桑植县| 乐安县| 古丈县| 宣化县| 桦川县|